Django Followers System is a web application that provides functionality for users to follow each other, send follow requests, accept or reject follow requests, manage followers and following lists, and chat with each other.
The Django Followers System project aims to provide a robust system for managing user relationships within a Django web application. With this system, users can easily follow and unfollow each other, send and receive follow requests, manage their follower and following lists, and engage in real-time chat. This project can be integrated into various types of social networking platforms, community forums, or any application that requires user interactions and connections.
- User registration and authentication
- User profile management with bio, profile picture, and privacy settings
- Following and unfollowing other users
- Sending and accepting/rejecting follow requests
- View and manage follower and following lists
- Real-time chat between users
- API endpoints for integrating with external applications
To install and set up the Django Followers System project, follow these steps:
git clone https://github.com/AbdullahBakir97/Django-Followers-System.git
cd Django-Followers-System
python -m venv env
source env/bin/activate # for Unix/Linux
env\Scripts\activate # for Windows
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
To use the Django Followers System, follow these steps:
- Register a new account or log in with an existing account.
- Set up your profile with a bio, profile picture, and privacy settings.
- Explore other users and follow/unfollow them.
- Send follow requests to private users or accept/reject follow requests from others.
- View and manage your follower and following lists from your profile dashboard.
- Engage in real-time chat with other users.
- List Accounts API:
GET /accounts/api/
- Update Follow Request:
PUT /accounts/api/follow-request/{request_id}/
- Partial Update Follow Request:
PATCH /accounts/api/follow-request/{request_id}/
- Create Follow:
POST /accounts/api/follow/
- Read Profile:
GET /accounts/api/profile/
- Update Profile:
PUT /accounts/api/profile/
- Partial Update Profile:
PATCH /accounts/api/profile/
- Read User Profile:
GET /accounts/api/profile/{user_id}/
- Delete Unfollow:
DELETE /accounts/api/unfollow/{user_id}/
- List Chat Rooms:
GET /chat/api/rooms/
- Create Chat Room:
POST /chat/api/rooms/
- Read Chat Room:
GET /chat/api/rooms/{room_id}/
- List Messages:
GET /chat/api/messages/
- Create Message:
POST /chat/api/messages/
- Read Message:
GET /chat/api/messages/{message_id}/
- User Login:
POST /api/auth/login/
- User Logout (GET):
GET /api/auth/logout/
- User Logout (POST):
POST /api/auth/logout/
- Change Password:
POST /api/auth/password/change/
- Reset Password:
POST /api/auth/password/reset/
- Confirm Password Reset:
POST /api/auth/password/reset/confirm/
- User Registration:
POST /api/auth/registration/
- Resend Email for Registration:
POST /api/auth/registration/resend-email/
- Verify Email for Registration:
POST /api/auth/registration/verify-email/
- Read and Update User:
GET/PUT/PATCH /api/auth/user/
Contributions to the Django Followers System project are welcome! To contribute, follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature-branch
) - Make your changes and commit them (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature-branch
) - Create a new Pull Request
For major changes, please open an issue first to discuss the proposed changes.
This project is licensed under the MIT License.