Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/durjoydutta/schoolsync
SchoolSync - A Parent Teacher Interaction Management System
https://github.com/durjoydutta/schoolsync
clerk-auth next-js postgresql prisma-orm shadcn-ui supabase tailwind-css
Last synced: 11 days ago
JSON representation
SchoolSync - A Parent Teacher Interaction Management System
- Host: GitHub
- URL: https://github.com/durjoydutta/schoolsync
- Owner: durjoydutta
- License: gpl-3.0
- Created: 2024-11-15T15:08:06.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2025-01-08T11:27:06.000Z (24 days ago)
- Last Synced: 2025-01-18T12:36:15.577Z (14 days ago)
- Topics: clerk-auth, next-js, postgresql, prisma-orm, shadcn-ui, supabase, tailwind-css
- Language: TypeScript
- Homepage: https://schoolsyncdev.vercel.app
- Size: 3.76 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π« Next.js Full-Stack School-Management Application /w Video Conference Integration
This repository houses a comprehensive full-stack **School Management Application**, leveraging **Next.js**, **Tailwind CSS**, **Node.js**, and **PostgreSQL** with **Prisma ORM** and **Supabase**. The application is a modern solution to manage school operations efficiently with tailored dashboards for administrators, teachers, students, and parents.
---
## π Key Features
### π **Authentication & Authorization**
- Secure user authentication via **Clerk.dev**.
- Role-based access control:
- Admin, Teacher, Student, Parent roles with granular permissions.
- Protected routes ensuring secure access.### π¨οΈ **Parent Teacher Communication**
- Simple way to communicate with teacher via **Calendly** and Custom Form.
- Role-based access for parent and teacher
- Effective Communication:
- Videon Conference
- Chat Message
- Custom Form### π **Admin Dashboard**
- Overview of user stats, events, and metrics.
- Interactive data visualization (charts and dashboards).
- User and role management with search, create, update, and delete capabilities.### π **Teacher Dashboard**
- Manage schedules, lesson plans, assignments, exams, and results.
- Monitor student performance and activities.### π **Student Dashboard**
- View class schedules, assignments, exam results, and attendance records.### πͺ **Parent Dashboard**
- Monitor childrenβs academic progress, schedules, and results.
- Communication tools for parent-teacher interaction.### π **Data Management**
- CRUD operations for managing users, classes, subjects, assignments, exams, and results.
- Efficient data fetching and pagination.
- Advanced search and filtering for quick data retrieval.### π± **Responsive Design**
- Fully optimized for all screen sizes and devices.### βοΈ **Modern Tech Stack**
- **Frontend:** Next.js, TypeScript, Tailwind CSS, Clerk.dev.
- **Backend:** Next.js, Prisma ORM, PostgreSQL with **Supabase**.---
## π οΈ Getting Started
1. **Clone the repository:**
```bash
git clone https://github.com/durjoydutta/schoolsync.git
cd schoolsync2. **Install dependencies:**
```bash
npm install
```3. **Environment Variables:**
Create a `.env.local` file in the root directory and use the following as an example configuration:
```plaintext
# Environment variables declared in this file are automatically made available to Prisma.
# See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema# Prisma connection string for PostgreSQL
DATABASE_URL="postgresql://:@:/?pgbouncer=true&connection_limit=1"# Direct connection to the database for migrations
DIRECT_URL="postgresql://:@:/"
DATABASE_PASSWORD=""# Clerk configuration
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/auth
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_
CLERK_SECRET_KEY=sk_test_
```4. **Run database migrations:**
```bash
npx prisma migrate dev
```5. **Start the development server:**
```bash
npm run dev
```6. **Access the application:**
Open your browser and navigate to [http://localhost:3000](http://localhost:3000).---
## π Project Structure
```
schoolsync/
βββ app/
β βββ admin/
β βββ student/
β βββ teacher/
β βββ parent/
β βββ signin/
β βββ ... other pages
βββ components/
β βββ Menu.tsx
β βββ Navbar.tsx
β βββ CountChart.tsx
β βββ ... other components
βββ prisma/
β βββ schema.prisma
βββ public/
β βββ images/
β βββ ... other assets
βββ server/
β βββ actions/
β β βββ createUser.ts
β β βββ updateStudent.ts
β βββ db/
β β βββ client.ts
βββ styles/
β βββ globals.css
βββ ... other files
```---
## π Deployment
### **Deploy to Vercel**
1. Push your code to a GitHub repository.
2. Connect your repository to Vercel.
3. Vercel will automatically build and deploy your application.### **Deploy to Other Platforms**
Follow the instructions for your chosen platform (e.g., Netlify, AWS).---
## π€ Contributing
Contributions are welcome! Submit issues or pull requests to improve this project.
---
## π License
This project is licensed under the **MIT License**. See the LICENSE file for details.
---
**Crafted with β€οΈ by Group-7**