(WIP)
A students-first social network where students discover and collaborate on projects; creating real work rather than focusing on connections.
Created by Lucas Root and Luke Coffman.
Here is the figma
Get Praxis ready to develop and run locally.
- Docker Desktop (Must be running for the database)
- Rust (
rustup update) - Node.js & npm
- Clone this repo
The database runs in a Docker container.
In the root folder:
docker compose up -dRun migrations
# Install sqlx-cli if you haven't (takes a minute)
cargo install sqlx-cli
# Run migrations
cd apps/api
sqlx migrate runThe Rust server runs on port 8080.
Go into the backend
cd apps/apicreate .env if missing
echo "DATABASE_URL=postgres://postgres:password@localhost:5432/praxis_db\nGOOGLE_CLIENT_ID=your_client_id_here\nGOOGLE_CLIENT_SECRET=your_client_secret_here\nGOOGLE_REDIRECT_URL=http://localhost:8080/auth/google/callback\nFRONTEND_URL=http://localhost:3000" > .envreplace placeholders (get keys from Lucas or setup your own in Google Cloud Console)
# apps/api/.env
DATABASE_URL=postgres://postgres:password@localhost:5432/praxis_db
GOOGLE_CLIENT_ID=your_client_id_here
GOOGLE_CLIENT_SECRET=your_client_secret_here
GOOGLE_REDIRECT_URL=http://localhost:8080/auth/google/callback
FRONTEND_URL=http://localhost:3000create .env.local if missing
# apps/web/
echo "NEXT_PUBLIC_API_URL=http://localhost:8080" > .env.localrun the server
cargo run --bin apiThe Next.js app runs on port 3000.
Open a new terminal tab
cd apps/web
npm install
# Development (hot refresh)
npm run dev# Production (faster/optimized, but no automatic refresh)
# You need to rebuild every code change
npm build
npm startPraxis should be ready and running.
Go to http://localhost:3000 and you should see the Praxis homepage.
Make User Admin: cd apps/api && cargo run --bin make_admin -- <username>
(replace brackets as well)
Reset Database: docker compose down -v (Deletes all data)
Run Migrations: cd apps/api && sqlx migrate run
Create Migration: cd apps/api && sqlx migrate add name_of_change
Not comprehensive.
- Create flowchart (Figma)
- Create mockup UI (Excalidraw)
- Design home/landing page
- GitHub login support
- joinpraxis.net
- joinpraxis.xyz
- joinpraxis.site
- praxs.org
- getpraxis.me https://www.spaceship.com/domain-search/?query=praxis&beast=false&tab=domains