Giter VIP home page Giter VIP logo

georgetoloraia / django-followers-system Goto Github PK

View Code? Open in Web Editor NEW

This project forked from abdullahbakir97/django-followers-system

1.0 0.0 0.0 145 KB

A Django-based system for managing user relationships within a web application. Features include user following, sending and managing follow requests, accepting or rejecting follow requests, and maintaining followers and following lists. Additionally, it supports real-time user chat.

License: MIT License

Python 100.00%

django-followers-system's Introduction

Django Followers System

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.

Introduction

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.

Features

  • 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

Installation

To install and set up the Django Followers System project, follow these steps:

Clone the repository

git clone https://github.com/AbdullahBakir97/Django-Followers-System.git

Navigate to the project directory

cd Django-Followers-System

Create a virtual environment (optional but recommended)

python -m venv env

Activate the virtual environment

source env/bin/activate  # for Unix/Linux
env\Scripts\activate  # for Windows

Install dependencies

pip install -r requirements.txt

Apply database migrations

python manage.py migrate

Create a superuser (optional)

python manage.py createsuperuser

Run the development server

python manage.py runserver

Usage

To use the Django Followers System, follow these steps:

  1. Register a new account or log in with an existing account.
  2. Set up your profile with a bio, profile picture, and privacy settings.
  3. Explore other users and follow/unfollow them.
  4. Send follow requests to private users or accept/reject follow requests from others.
  5. View and manage your follower and following lists from your profile dashboard.
  6. Engage in real-time chat with other users.

API Documentation

Accounts Endpoints

  • 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}/

Chat Endpoints

  • 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}/

Authentication Endpoints

  • 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/

Contributing

Contributions to the Django Followers System project are welcome! To contribute, follow these steps:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature-branch)
  3. Make your changes and commit them (git commit -am 'Add new feature')
  4. Push to the branch (git push origin feature-branch)
  5. Create a new Pull Request

For major changes, please open an issue first to discuss the proposed changes.

License

This project is licensed under the MIT License.

django-followers-system's People

Contributors

abdullahbakir97 avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.