This is a blog application built with Django and Django REST Framework (DRF). It features user authentication, CRUD operations for posts and comments, search and filtering, pagination, and an admin interface. The application is containerized using Docker and deployed on Render.
- User Authentication (registration, login, logout, profile management)
- CRUD operations for Posts and Comments
- Search functionality by title and content
- Filtering by categories and tags
- Pagination for posts
- Admin interface for managing posts, categories, tags, comments, and profiles
- Deployment with Docker and Render
- Clone the repository:
git clone https://github.com/AbdelrahmanElsaeid/Blog-Application-DRF.git cd Blog-Application-DRF - Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
- Install the dependencies:
pip install -r requirements.txt
- Apply the migrations:
python manage.py migrate
- Create a superuser:
python manage.py createsuperuser
- Run the development server:
python manage.py runserver
- Build and run the Docker containers:
docker-compose up --build
- Run migrations inside the Docker container:
docker-compose run web python manage.py migrate
- Create a superuser:
docker-compose run web python manage.py createsuperuser
/api/posts/- List and create posts/api/posts/<id>/- Retrieve, update, and delete a post/api/categories/- List categories/api/tags/- List tags/api/comments/- List and create comments/api/comments/<id>/- Delete a comment/api/user/auth/login/- Login/api/user/auth/logout/- Logout/api/user/signup//- Signup/api/user/profile/- Profile Retrieve and update and delete
To deploy using Docker, run:
docker-compose up --build- GitHub Repository: Link to Repository
- Deployed Application: Link to Production
- API Documentation: Link to API Documentation