Welcome to the Django Blog API, a blog infrastructure developed using Django REST framework. Below, you'll find an overview of the project's features and instructions on how to get started.
-
Adding Comments with Recaptcha: Ensure a spam-free commenting experience by using Recaptcha when posting comments.
-
User Registration: Users can register for the platform. During registration, users are required to provide their age information.
-
User Age Verification: User ages are validated to fall within specified age limits, which can be configured in the project settings.
-
User Authentication: Registered users can log in to the platform using either session-based authentication or Auth Token provided by Django REST framework.
-
Profile Management: Users can view, edit, and update their profile information.
-
Comment Replies: Encourage interaction and discussions by allowing replies to comments.
-
Category and Tag Management: Organize blog posts by categorizing them and adding tags.
-
View Posts by Category: Filter and view posts within specific categories.
-
View User-Specific Posts: Implement an authorization system to enable users to view their own posts.
To run the project in your local environment, follow these steps:
-
Clone this repository:
git clone https://github.com/WoXy-Sensei/django-blog-backend
-
Navigate to the project folder:
cd blog
-
Create and activate a virtual environment:
-
Linux or macOS:
python -m venv venv source venv/bin/activate
-
Windows:
python -m venv venv venv\Scripts\activate
-
Install required dependencies:
pip install -r requirements.txt
-
Create the database:
python manage.py migrate
-
Create a superuser account:
python manage.py createsuperuser
-
Start the project:
python manage.py runserver
-
Access the admin panel by visiting
http://localhost:8000/admin/
in your browser and logging in with the superuser account.
This project is currently in development and open to contributions. If you would like to contribute, add new features, or fix issues, please visit the GitHub repository and open an issue or submit a pull request.
Please note that this project is actively evolving. We plan to enhance it further and provide comprehensive API documentation in the near future.
This project is licensed under the MIT License.