Skip to content

faris-agour/Django-Social-Media

Repository files navigation

Sagepock - A Social Media Platform with Django

Sagepock is a comprehensive social media platform built with Django, featuring RESTful APIs, robust Authentication and Authorization using JWTs, and PostgreSQL as the main database. This platform offers a range of features designed to enhance user engagement and connectivity.

Features

Authentication and Authorization

  • Signup with Google: Users can easily sign up or log in using their Google accounts. Reset Password via Gmail: Secure password recovery process leveraging Gmail's SMTP server.

Protocol And Domain

  • The primary protocol I used in my project is HTTPS ensuring secure data transmission.
  • Also change the domain name of localhost to "sagepock"
  • https://sagepock.com:8000/home/.

Social Features

Friend System: Users can add friends and view posts shared by their friends. Post Sharing: Users can create, share, and interact with posts.

RESTful APIs

Well-defined RESTful APIs for seamless integration with frontend applications or third-party services.

Database

PostgreSQL Configuration: Utilizes PostgreSQL for efficient and reliable data storage.

Run the application

  • mkdir sagepock
  • cd sagepock
  • git clone https://github.com/fares-agour/Django-Social-Media.git
  • python -m venv venv
  • Activate Virtual Environment:

    On Windows:

    .\venv\Scripts\activate
    

    On macOS and Linux:

    source venv/bin/activate
    
  • cd Django-Social-Media
  • pip install -r requirements.txt
  • echo .env and fullfit all variables with yours.
  • python manage.py migrate
  • python manage.py createsuperuser
  • to open site in domain sagepock instead of local host

On windows

    C:\Windows\System32\drivers\etc\hosts
    You'll need to open this file with administrative like VSCODE
    Add this line:
    127.0.0.1       sagepock

On macOS and Linux

  /etc/hosts
  sudo nano /etc/hosts
  127.0.0.1       sagepock 
  • python manage.py runserver_plus --cert-file cert.crt
  • Enjoy

Screenshots

Dashboard displaying user activity and posts.

c37d64a5-3624-4bdc-a816-0c72eff8ee93

Friend list showcasing connections and friend suggestions.

3674bf31-5b7e-4ede-8a07-8a72766de91e

Post creation interface with rich text editing features.

image

User log-in page and register.

fa56489f-cab7-4852-9a75-5d593aa80650

User profile page with detailed information and settings.

b90e428d-c336-441c-9ed0-e87f1de7b410

Purpose and Goals

The primary purpose of Sagepock is to provide a secure and user-friendly social media platform where users can connect, share, and interact with friends and communities. Our goal is to create a platform that prioritizes user privacy, data security, and seamless user experience.

Technologies Used

  • Django
  • Django Rest Framework
  • JSON Web Tokens (JWTs) for Authentication
  • PostgreSQL
  • Google OAuth for Signup
  • Gmail SMTP for Email Services

About

Django project using React in Frontend with RESTful APIs and Authentication and Authorization using JWTs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors