2.6 KiB
Inspire & Ink Blog
Project Description
Inspire & Ink is a modern blogging platform built using Django Rest Framework (DRF) for the backend and Vue.js for the frontend. It offers seamless content creation and management with a user-friendly interface and secure authentication. The platform supports rich text content using a WYSIWYG editor, enabling users to write and format articles easily while storing content as HTML.
Features
1. Authentication
- User authentication using Djoser and JWT (JSON Web Tokens) for secure access.
- Registration, login, and password reset functionality.
2. Content Creation
- Rich text editor (WYSIWYG) for writing articles with HTML content storage.
- Create, update, delete, and view blog posts.
3. Frontend Design
- Built with Vue.js, providing a responsive and dynamic user interface.
- Styled using Tailwind CSS and Flowbite for a modern and consistent design.
4. Backend Functionality
- RESTful API built using Django Rest Framework (DRF).
- Well-structured endpoints for managing blog posts and user profiles.
5. Search and Filtering
- Full-text search for blog posts.
- Filtering and sorting options for easier navigation of content.
6. Secure Content Management
- Role-based permissions to manage users and restrict access.
- Secure storage of content with token-based authentication.
Technologies Used
Backend:
- Django
- Django Rest Framework (DRF)
- Djoser (for user management and authentication)
- JWT (for secure token-based authentication)
Frontend:
- Vue.js 3
- Tailwind CSS
- Flowbite (UI components and design)
- Axios (for API requests)
- WYSIWYG Editor (for article content)
Installation
Backend Setup:
-
Clone the repository:
git clone https://github.com/Ahmed-Nagi1/Inspire-Ink cd inspire-and-ink/backend -
Create and activate a virtual environment:
python -m venv env
source env/bin/activate
# On Windows: env\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Apply database migrations:
python manage.py makemigrations python manage.py migrate
- Run the development server:
python manage.py runserver
Frontend Setup:
- Navigate to the frontend directory:
cd ./frontend
- Follow the instructions in the README.md file for further setup.
Usage
-
Access the frontend at http://localhost:3000 (or the port specified by Vue.js).
-
API endpoints are available at http://127.0.0.1:8000/api/.
-
Register a new user or log in to access content creation features.
-
Use the rich text editor to create and format blog posts.