Goal: Create an X and LinkedIn crossover for posting real content about your projects, semi-formally
Projects are the baseline of the app, you must have a project to post.
Anyone can comment, like, follow, despite their project count.
Some quirky names for things (frontend only)
- Projects are called 'Stream's
- Posts about projects are called 'Byte's
- Comments are called 'Bit's
- Backend/API in Go, Elixir/Scala if need big data processing
- Frontend: ReactNative and Expo
- Database: PostgreSQL or MySQL
- Host: On AWS, full system design pending
Start only the frontend (choose production or local backend at launch):
./run-front.shStart full local stack (dev PostgreSQL + backend + frontend in local API mode):
./run-dev.shRun backend tests using dockerized Go against the dev DB stack:
./run-db-tests.shPowerShell equivalents:
.\run-front.ps1
.\run-dev.ps1
.\run-db-tests.ps1Scan the QR code with Expo Go on your phone. The app will automatically connect to your local backend.
- Fresh clone frontend check: run
chmod +x run-front.sh run-dev.sh run-db-tests.sh, then./run-front.sh, chooseProduction, and confirm Expo starts. - Full local stack: run
./run-dev.sh, confirm backend health athttp://<LAN-IP>:8080/health, then validate app API calls from a phone on same WiFi. - DB tests: run
./run-db-tests.shand confirm it exits with code0.
- Install Docker and Docker Compose (v2)
- Install Node.js/npm for Expo frontend
- Docker Desktop on Windows: ensure file sharing is enabled for the repo path.
- If
8080or5433is occupied, the scripts prompt for alternate ports (or allow exit with guidance). - WSL/Docker Desktop/Linux engine differences: run scripts from the environment that owns your Docker daemon and ensure localhost port forwarding is enabled.
For detailed instructions, see INSTRUCTIONS.md.
All deployment database script commands and usage are documented in: