KMLife is a college-only marketplace for tasks and services that students post for other students to complete. The MVP is designed to be tested with one class first, focusing on fast posting, easy discovery, and a secure community.
- Auth & Onboarding: College domain check, email verification, admin approval queue.
- Homepage: Mobile-first, Shopee-inspired grid, Admin-controlled News Hero, Category carousel.
- Post Flow: Easy step-by-step posting for Tasks, Services, and Requests.
- Claim & Fulfill: Two-step claim process, status tracking (Open -> Pending -> In Progress -> Completed).
- Messaging: Lightweight in-app chat for coordination.
- Profile & Notifications: User stats, verified badges, ratings.
- Admin Panel: Manage users, pin news, view analytics.
- Clone the repository.
- Install dependencies:
npm install - Set environment variables (see
.env.example). - Run the development server:
npm run dev - Open http://localhost:3000 in your browser.
- Admin: admin@college.edu (Password: demo123)
- Student: student@college.edu (Password: demo123)
- Power Helper: helper@college.edu (Password: demo123)
- Semantic HTML elements (nav, main, section, article).
- ARIA labels on icon-only buttons (Search, Close, Add).
- Sufficient color contrast for text (e.g., slate-900 on white).
- Keyboard navigable interactive elements.
- Focus indicators visible for all interactive elements.
- Email Verification: Mandatory before full access. Use one-time code link.
- Rate Limits: Implement rate limiting on auth endpoints and posting endpoints to prevent spam.
- File Upload Limits: Restrict image uploads to max 5MB per file, max 6 files per listing. Use pre-signed URLs for direct-to-S3 uploads.
- Data Privacy: Do NOT share phone numbers publicly unless user opts-in. Rewards are arranged externally.