A high-performance, memory-efficient issue management system built with the Next.js App Router, Prisma, and Supabase. This project was designed with a focus on large-scale system architecture and a Git-based workflow to facilitate peer-to-peer mentoring.
- Framework: Next.js 15 (App Router, Turbopack)
- Database: PostgreSQL via Supabase
- ORM: Prisma
- Authentication: NextAuth.js / Auth.js
- Styling: Tailwind CSS
- Validation: Zod
- Memory-Optimized Schema: Designed to handle large datasets with efficient indexing.
- P2P Mentoring Workflow: Git-based architecture forcing junior members to learn open-source standards.
- Role-Based Assignment: Issues are linked to specific users via CUIDs.
- Real-time Ready: Leveraging Supabase's PostgreSQL backbone for future real-time updates.
git clone [https://github.com/your-username/your-repo-name.git](https://github.com/your-username/your-repo-name.git)
cd your-repo-name
npm install
Create a .env file in the root directory and add your Supabase connection strings. Ensure you use the Transaction Pooler for port 6543 and the Direct Connection for migrations.
DATABASE_URL="postgresql://postgres.[REF]:[PASS]@aws-0-[REGION][.pooler.supabase.com:6543/postgres?pgbouncer=true](https://.pooler.supabase.com:6543/postgres?pgbouncer=true)"
DIRECT_URL="postgresql://postgres.[REF]:[PASS]@aws-0-[REGION][.pooler.supabase.com:5432/postgres](https://.pooler.supabase.com:5432/postgres)"
NEXTAUTH_SECRET="your-secret"
NEXTAUTH_URL="http://localhost:3000"
GOOGLE_CLIENT_ID="your-google-id"
GOOGLE_CLIENT_SECRET="your-google-secret"
Push the schema to your Supabase instance:
npx prisma migrate deploy
To populate the app with technical dummy data for testing (System Architecture and Frontend tasks):
npx prisma db seed
The project uses a monorepo-ready structure:
/prisma: Contains theschema.prismaand seeding scripts./app: Next.js App Router logic, including Server Actions for data mutation./components: Reusable UI components (e.g.,GlassIconButtonusing theiconNameprop).
This project is built to encourage mentoring.
- Pick an issue from the Issues tab.
- Create a feature branch.
- Submit a PR for a code review by a senior member.
Developed by Abir - Focused on large-scale, memory-efficient systems.
---
### A few tips for your README:
* **The "Mentoring" Section:** I included a section about your contribution workflow, as you mentioned you want this project to help junior members learn.
* **The Icon Reference:** I added a note about the `GlassIconButton` using `iconName` to ensure anyone else working on the project follows your specific architectural rule.
* **Prisma Commands:** I included the `migrate deploy` command instead of `migrate dev` since you've already set up your database.
**Would you like me to add a "Project Roadmap" section to the README detailing the upcoming voting features?**