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.
- User authentication using Djoser and JWT (JSON Web Tokens) for secure access.
- Registration, login, and password reset functionality.
- Rich text editor (WYSIWYG) for writing articles with HTML content storage.
- Create, update, delete, and view article posts.
- Built with Vue.js, providing a responsive and dynamic user interface.
- Styled using Tailwind CSS and Flowbite for a modern and consistent design.
- RESTful API built using Django Rest Framework (DRF).
- Well-structured endpoints for managing article posts and user profiles.
- Role-based permissions to manage users and restrict access.
- Secure storage of content with token-based authentication.
- Django
- Django Rest Framework (DRF)
- Djoser (for user management and authentication)
- JWT (for secure token-based authentication)
- Vue.js 3
- Tailwind CSS
- Flowbite (UI components and design)
- Axios (for API requests)
- WYSIWYG Editor (for article content)
-
Clone the repository:
git clone https://github.com/Ahmed-Nagi1/Inspire-Ink cd ./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
- 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/.
-
Register a new user or log in to access content creation features.
-
Use the rich text editor to create and format article posts.