Skip to content

Latest commit

 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Extrovert is a backend-focused social media platform built completely from scratch using FastAPI, PostgreSQL, and modern backend engineering practices. The platform provides authentication, social interactions, personalized feeds, and real-time communication through WebSockets.

Launch Live Deployment - https://extrovert.onrender.com/
Hosted on Render free tier — cold starts after inactivity may take 30–60 seconds.


Features

Authentication System

JWT authentication with secure password hashing using bcrypt and role-based access control.

User Profiles

Create and manage user profiles with personalized account information.

Social Interactions

Create posts, add comments, like content, and engage with other users.

Follow System

Follow and unfollow users to build a personalized social network.

Personalized Feed

Generate customized content feeds based on user connections and activity.

Real-Time Messaging

Instant messaging powered by WebSockets for real-time communication.

Tech Stack


Core Functionalities

Feature Description
Authentication JWT Authentication & Authorization with secure password hashing.
User Management User registration, login, and profile management.
Content System Create posts, comments, and social interactions.
Like System Engage with content through likes.
Follow System Follow and unfollow users.
Feed Generation Personalized content feed generation.
Messaging Real-time messaging using WebSockets.

Local Setup

Rename .env.example to .env and add all required environment variables.

Setup Method Description

Docker

1. Build Docker Image

docker build -t extrovert .

2. Run Container

docker run --env-file .env extrovert

Manual Setup

1. Create Virtual Environment

python -m venv venv

2. Activate Virtual Environment

Linux/macOS

source venv/bin/activate

Windows

venv\Scripts\activate

3. Install Requirements

pip install -r requirements.txt

4. Start Development Server

uvicorn app.main:app --reload

Database Schema


License

This project is licensed under the MIT License.

About

Connect with coilleagues , share updates , discuss ideas , and chat in real-time on a professional network.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages