Epistle is a full-stack blogging platform built with React on the frontend and Django on the backend. This project offers a comprehensive blogging experience with user authentication, rich-text editing for posts, tag filtering, and a user profile section. It's designed to provide an intuitive and seamless interface for both bloggers and readers.
- User Authentication: Secure sign-up, login, and logout functionality.
- Rich-Text Editor: Create and format blog posts with a feature-rich editor.
- Tag Filtering: Easily filter blog posts by tags for better content discovery.
- User Profiles: Each user has a customizable profile.
- Responsive Design: Fully responsive design to ensure a great experience on all devices.
- CRUD Functionalities: Create, Read, Update, and Delete blog posts with ease.
To run this project locally, follow these steps:
- Python 3.x
- Django
- Node.js
- npm or Yarn
-
Clone the repository:
git clone https://github.com/yourusername/epistle.git cd epistle -
Set up a virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required Python packages:
pip install -r requirements.txt
-
Run the migrations:
python manage.py migrate
-
Create a superuser to access the admin panel:
python manage.py createsuperuser
-
Start the Django development server:
python manage.py runserver
-
Navigate to the
frontenddirectory:cd frontend -
Install the required npm packages:
npm install # or yarn install -
Start the React development server:
npm start # or yarn start
- Open your browser and navigate to
http://localhost:8000to access the Django backend. - Access the React frontend by navigating to
http://localhost:3000. - Use the superuser credentials to log in to the Django admin panel at
http://localhost:8000/admin/. - Create and manage blog posts, tags, and user profiles directly from the admin panel or the frontend interface.
Contributions are welcome! Please fork this repository and submit a pull request for any enhancements or bug fixes.