StudySync is a full-stack SaaS platform purpose-built to simplify and streamline academic operations in universities and colleges across Pakistan.
Built on a modern monorepo architecture with Turborepo, it combines an intuitive frontend in Next.js, a powerful Express.js backend, and robust data modeling using PostgreSQL and Prisma ORM.
- 🔐 Role-based access:
Admin
,Teacher
,Student
,Staff
- 🏛️ Multi-organization support: users can create or join multiple universities
- 🔑 Secure join codes for onboarding teachers and students
- 🎓 Manage batches, departments, semesters, and course enrollment
- 📝 Assignment and quiz creation with submissions and grading
- 🧪 Custom grading schemes per batch with default fallbacks
- 🎓 Final Year Project (FYP) group and project management
- ⚡ Fast, modular monorepo setup using Turborepo
studysync/
├── apps/
│ ├── web/ → Next.js frontend (student/teacher portal)
│ └── server/ → Express.js backend (API layer)
├── packages/
│ ├── db/ → Prisma schema and client
│ ├── ui/ → Shared React UI components (shadcn/ui, Tailwind)
│ └── config/ → Shared configs (eslint, typescript)
├── prisma/ → Prisma schema & migrations
└── turbo.json → Turborepo configuration
git clone https://github.com/your-org/studysync.git
cd studysync
pnpm install
# or
npm install
Create a .env
file in the root:
DATABASE_URL=postgresql://your_user:your_pass@localhost:5432/studysync
DIRECT_URL=postgresql://your_user:your_pass@localhost:5432/studysync
JWT_SECRET=your_super_secret_key
npx prisma migrate reset
npx prisma generate
To start both frontend and backend together:
pnpm turbo dev
To start only a specific app:
pnpm turbo dev --filter=web
pnpm turbo dev --filter=server
pnpm turbo build
Or build a specific app:
pnpm turbo build --filter=web
pnpm turbo build --filter=server
Enable Vercel Remote Caching for faster CI:
pnpm turbo login
pnpm turbo link
Learn more: https://turborepo.org/docs
Layer | Technology |
---|---|
Frontend | Next.js, Tailwind CSS, TypeScript |
Backend | Express.js, Node.js |
Database | PostgreSQL |
ORM | Prisma ORM |
Auth | JWT, Role-based Access Control |
DevOps | Turborepo, Docker (optional) |
UI/UX | shadcn/ui, Lucide Icons |
- ✅ A university admin creates an organization and invites faculty via join code.
- ✅ Teachers create assignments and quizzes for enrolled students.
- ✅ Students submit assignments and attempt quizzes.
- ✅ Admin configures a grading scheme for each batch.
- ✅ Final Year Projects are managed in groups with project titles, supervisors, and submission tracking.
Contributions are welcome! Please feel free to:
- Open issues for bugs or suggestions
- Submit a pull request with enhancements or fixes
Make sure to follow the established coding conventions and linting rules.
Built with ❤️ by Syed Shahid Gillani
📧 Email: shahid5ssg@gmail.com
This project is licensed under the MIT License.