A platform for SHPE members to find scholarships, internships, career paths, peer help, and connect with the community.
- Scholarship finder (GPA & graduation level filters, direct apply links)
- Internship board
- Career path planner with AI roadmap
- Peer help requests
- Member directory
- Events board
- Onboarding flow for students and non-students
- Email/password + GitHub + Google sign-in
- Node.js 18+
- A Supabase project (for the database)
- An
AUTH_SECRET(generate withopenssl rand -base64 32)
git clone https://github.com/CarlosTho/shpeproject.git
cd shpeprojectnpm installCopy the example file and fill in your values:
cp .env.example .env.localOpen .env.local and set:
| Variable | Where to get it |
|---|---|
AUTH_SECRET |
Run openssl rand -base64 32 |
AUTH_URL |
http://localhost:3000 for local dev |
DATABASE_URL |
Supabase → Project Settings → Database → Transaction pooler URI (port 6543) |
DIRECT_URL |
Supabase → same page → Session pooler URI (port 5432) |
AUTH_GITHUB_ID / AUTH_GITHUB_SECRET |
GitHub → Settings → Developer settings → OAuth Apps → New OAuth App. Callback: http://localhost:3000/api/auth/callback/github |
AUTH_GOOGLE_ID / AUTH_GOOGLE_SECRET |
Google Cloud Console → APIs & Services → Credentials → OAuth 2.0 Client. Callback: http://localhost:3000/api/auth/callback/google |
OAuth providers are optional — email/password sign-in works without them.
npm run db:pushAdds sample scholarships and directory members:
npm run db:seednpm run devOpen http://localhost:3000 in your browser.
| Command | Description |
|---|---|
npm run dev |
Start local dev server |
npm run build |
Build for production |
npm run start |
Start production server |
npm run db:push |
Push Prisma schema to database |
npm run db:seed |
Seed the database with sample data |
npm run db:studio |
Open Prisma Studio (visual DB browser) |
npm run lint |
Run ESLint |
- Next.js 16 — framework
- Prisma — ORM
- Supabase — PostgreSQL database
- NextAuth v5 — authentication
- Tailwind CSS v4 — styling
- OpenAI — AI career roadmap generation