A comprehensive and modern College ERP system built with Next.js that streamlines academic and administrative processes. This project leverages a powerful stack—including Prisma, Redux, TanStack Query, Zod, NextAuth, and Entraid Login—to deliver a robust, scalable, and secure ERP solution backed by MariaDB hosted on vercel.
Live Link: erp.ishaanminocha.in
The College ERP Project is designed to simplify and enhance the management of college operations. Whether you're managing student records, faculty details, course enrollments, or scheduling, this ERP system integrates the latest web technologies to offer an intuitive, responsive, and secure experience.
Built with Next.js and supported by an extensive set of libraries and tools, the project emphasizes:
- Scalability: Easily adaptable for growing needs.
- Security: Robust authentication and authorization mechanisms.
- Developer Experience: Modern tooling and best practices for rapid development.
- Performance: Optimized data fetching and state management.
-
User Authentication & Authorization:
Secure login using NextAuth integrated with Entraid Login for streamlined college user authentication. -
Database Management:
Leveraging Prisma ORM with MariaDB for efficient data modeling and migrations. -
State Management:
Powerful global state management with Redux Toolkit. -
Data Fetching & Caching:
Seamless server state synchronization with TanStack Query. -
Schema Validation:
Robust request and response validation using Zod. -
Responsive UI & Modern Architecture:
Developed with Next.js, ensuring both server-side rendering (SSR) and static site generation (SSG) for optimal performance.
- Framework: Next.js
- Backend & ORM: Prisma with MariaDB
- Authentication: NextAuth & Entraid Login
- State Management: Redux Toolkit
- Data Fetching: TanStack Query
- Validation: Zod
- Styling: Tailwind CSS
- UI Library: Shadcn UI and Tremor
Before setting up the project locally, ensure you have installed:
- Node.js (v16 or above)
- npm, yarn, or pnpm
- MariaDB (either locally installed or accessible remotely)
- Git
Follow these steps to get the project up and running on your local machine.
git clone https://github.com/bytemait/erp.git
cd erpUsing npm:
npm installCreate a .env file in the root directory of the project based on the provided .env.example.
Note: Replace placeholder values (e.g., `<app-client-id>`, `<app-client-secret>`, etc.) with your actual configuration details.
### 4. Database Setup with Prisma
Generate Prisma Client and run migrations to set up your database schema:
```bash
npx prisma generate
npx prisma migrate dev --name init
Seed the database with starter data:
npx prisma db seedStart the Next.js development server:
npm run devYour application should now be running at http://localhost:3000.
Build and start the production version:
npm run build
npm startContributions are welcome! If you'd like to contribute to the College ERP Project, please follow these guidelines:
-
Fork the Repository:
Click on the Fork button at the top right of this page to create your own copy of the repository. -
Create a Branch:
Create a new branch for your feature or bug fix.git checkout -b feature/your-feature-name
-
Implement Your Changes:
Make sure your code adheres to the project's coding standards. If applicable, include tests for your changes. -
Commit and Push:
Commit your changes with clear and descriptive commit messages.git commit -m "Add feature: description of your feature" git push origin feature/your-feature-name -
Open a Pull Request:
Navigate to the repository on GitHub and open a pull request against the master branch. Provide a clear description of your changes and any relevant screenshots or documentation. -
Review & Merge:
Your pull request will be reviewed by the maintainers. Once approved, it will be merged into the master branch.
Happy coding! 🎓🚀