Skip to content

Latest commit

 

History

144 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elbow Room - Full Stack Social Media App

Paperly.mp4

Frontend is built with Expo + TypeScript, backend will use FastAPI, and data is managed with PostgreSQL via Supabase.


Tech Stack

Frontend

  • React Native Expo
  • TypeScript
  • npm

Backend

  • Python
  • FastAPI
  • PostgreSQL

Database

  • Supabase (Cloud-hosted PostgreSQL)

Getting Started

Prerequisites

Make sure you have installed:

  • Node.js (recommended: latest LTS version)
  • npm
  • Python (recommended: 3.10+)

Frontend Setup

Navigate to the frontend folder

cd front-end

Install dependencies

npm install

Create environment file

Create a .env file inside frontend/:

EXPO_PUBLIC_SUPABASE_URL=your_supabase_url
EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key

!!! Put this file in your .gitignore file!

You can find these in your Supabase dashboard: Project Settings → API

Start development server

npx expo start

Frontend will run on:

http://localhost:8081

Backend Setup (FastAPI – Planned)

⚠️ Backend setup assumes FastAPI will be used.

Navigate to backend folder

cd back-end

Create virtual environment (recommended)

python -m venv venv

Project Setup Guide

Activate Virtual Environment

Mac/Linux

source venv/bin/activate

Windows

venv\Scripts\activate

Install Dependencies

Once requirements.txt exists:

pip install -r requirements.txt

Expected packages will likely include:

  • fastapi
  • uvicorn
  • psycopg2 or asyncpg
  • python-dotenv

Create Backend .env

Inside be/, create a .env file:

SUPABASE_URL=your_supabase_url
SUPABASE_KEY=your_supabase_key
SUPABASE_SERVICE_KEY=your_service_role_key

⚠️ Never commit .env files to GitHub.


Run Backend

uvicorn main:app --reload --port 8000

Backend will run on: http://localhost:8000


Connecting Frontend & Backend

Once backend is running:

  • Frontend8081
  • Backend8000

Development Workflow

Run Frontend

cd fe
npx expo start

Run Backend

cd be
uvicorn main:app --reload --port 8000

Make sure both are running at the same time.

For New Developers

If you're new:

  1. Start with frontend only (front-end/).
  2. Confirm Supabase connection works.
  3. Then set up backend.
  4. Run both servers simultaneously.

About

A new kind of social media that's really the old kind. Friends first feeds, no predatory algorithms, and a focus on connection rather than consumption

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages