Skip to content

Cyber-Dome/django-blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

14 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Django Blog Application – Domebytes

Python Django Bootstrap SQLite PythonAnywhere Status License

A full-featured Django Blog Web Application built with authentication, role-based dashboards, category management, search functionality, and commenting system.

πŸ”— Live Demo: https://amalaji.pythonanywhere.com/


πŸ“Œ Project Overview

This project is a complete blog platform where users can:

  • Browse blog posts by category
  • Search articles
  • Register, login, and interact with content
  • Comment on posts
  • Manage content via dashboards (Admin/Editor/Manager)

Built using Django (Full Stack) following best practices.


βš™οΈ Tech Stack

  • Backend: Django
  • Frontend: HTML, CSS, Bootstrap
  • Database: SQLite (default)
  • Authentication: Django Auth System
  • Deployment: PythonAnywhere

✨ Features Implemented

πŸ”Ή Core Features

  • Category-based blog system
  • Slug-based SEO-friendly URLs
  • Featured & recent posts
  • Search functionality
  • Custom 404 error page
  • Template inheritance

πŸ”Ή Authentication System

  • User Registration
  • Login & Logout
  • Role-based access control
  • Django Groups (Editor / Manager)

πŸ”Ή Dashboard System

  • Editor Dashboard
  • Manager Dashboard
  • Role-based permissions
  • Sidebar navigation with active states

πŸ”Ή Category Management (CRUD)

  • Add Category
  • Edit Category
  • Delete Category
  • Category listing table

πŸ”Ή Blog Management (CRUD)

  • Add Blog Post
  • Edit Blog Post
  • Delete Blog Post
  • Assign logged-in user as author
  • Unique slug generation

πŸ”Ή Comment System

  • Add comments to blog posts
  • Display comments
  • Only authenticated users can comment

πŸ”Ή Additional Features

  • About Us page
  • Social links integration
  • Context processors for global data
  • Media file handling (image uploads)
  • Static file management

🧠 What I Learned (Based on Implementation)

This project was built by implementing concepts step-by-step from a structured tutorial:

🟒 Django Fundamentals

  • Project & app structure
  • Models, Views, Templates (MVT)
  • Admin customization

🟒 Advanced Django Concepts

  • ForeignKey relationships
  • Context processors
  • Template inheritance
  • Custom error handling (404)

🟒 Authentication & Authorization

  • User authentication system
  • Groups & permissions
  • Role-based dashboards

🟒 CRUD Operations

  • Categories & blog posts management
  • Form handling
  • Validation and slug generation

🟒 Deployment

  • Static & media file configuration
  • Deployment on PythonAnywhere
  • Production setup

πŸ“‚ Project Structure

django-blog/
│── blog_main/
│── templates/
│── static/
│── media/
│── manage.py
│── requirements.txt

πŸš€ Setup Instructions

1. Clone Repository

git clone https://github.com/yourusername/django-blog.git
cd django-blog

2. Create Virtual Environment

python -m venv venv
source venv/bin/activate

3. Install Dependencies

pip install -r requirements.txt

4. Run Migrations

python manage.py migrate

5. Create Superuser

python manage.py createsuperuser

6. Run Server

python manage.py runserver

πŸ” Roles in System

Role Permissions
Admin Full control
Manager Manage users + content
Editor Manage posts only

πŸ“ˆ Future Improvements

  • REST API integration (Django REST Framework)
  • Like/Share system
  • Rich text editor (CKEditor)
  • Email notifications
  • Pagination optimization

πŸ™Œ Author

Amal Aji


⭐ Support

If you like this project, give it a ⭐ on GitHub!

About

Full-stack Django blog application with authentication, dashboards, CRUD features, search, and live deployment.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors