A peer-to-peer marketplace platform connecting university students seeking academic assistance with qualified tutors and freelancers.
- Frontend: Next.js 14+ (App Router), React 18+, TypeScript
- Styling: Tailwind CSS
- Backend: Supabase (Auth, Database, Storage, Real-time)
- Forms: React Hook Form + Zod
- Icons: Lucide React
- Testing: Vitest + fast-check (Property-Based Testing)
- Node.js 18+ installed
- A Supabase account and project
- Install dependencies:
npm install-
Configure Supabase:
- Create a Supabase project at https://supabase.com
- Copy your project URL and anon key
- Update
.env.localwith your credentials:
NEXT_PUBLIC_SUPABASE_URL=your-supabase-project-url NEXT_PUBLIC_SUPABASE_ANON_KEY=your-supabase-anon-key -
Run the development server:
npm run dev- Open http://localhost:3000 in your browser
├── app/ # Next.js App Router pages
├── components/ # React components
├── lib/
│ ├── supabase/ # Supabase client configuration
│ ├── types/ # TypeScript type definitions
│ └── utils/ # Utility functions
├── public/ # Static assets
└── tests/ # Test files
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run test- Run tests
Refer to the design document for the complete database schema and Row Level Security policies.
Private - Academic Project