Skip to content

Latest commit

 

History

History
86 lines (64 loc) · 3.43 KB

File metadata and controls

86 lines (64 loc) · 3.43 KB

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