Skip to content

(WIP) A students-first social network where students discover and collaborate on projects.

Notifications You must be signed in to change notification settings

cringey303/Praxis

Repository files navigation

Praxis

(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

stitch with google

Quickstart (Luke this for u)

Get Praxis ready to develop and run locally.

1. Prerequisites

  • Docker Desktop (Must be running for the database)
  • Rust (rustup update)
  • Node.js & npm
  • Clone this repo

2. Start Database

The database runs in a Docker container.

In the root folder:

docker compose up -d

Run migrations

# Install sqlx-cli if you haven't (takes a minute)
cargo install sqlx-cli

# Run migrations
cd apps/api
sqlx migrate run

3. Start Backend (API)

The Rust server runs on port 8080.

Go into the backend

cd apps/api

create .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" > .env

replace 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:3000

create .env.local if missing

# apps/web/
echo "NEXT_PUBLIC_API_URL=http://localhost:8080" > .env.local

run the server

cargo run --bin api

4. Start Frontend (Web)

The 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 start

5. Testing

Praxis should be ready and running.

Go to http://localhost:3000 and you should see the Praxis homepage.

Useful Commands

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

TO-DO

Not comprehensive.

- Create flowchart (Figma)
- Create mockup UI (Excalidraw)
- Design home/landing page
- GitHub login support

Possible Domains

About

(WIP) A students-first social network where students discover and collaborate on projects.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published