{"id":22304947,"url":"https://github.com/durjoydutta/schoolsync","last_synced_at":"2026-02-15T13:36:42.474Z","repository":{"id":263011273,"uuid":"889076590","full_name":"durjoydutta/schoolsync","owner":"durjoydutta","description":"SchoolSync - A Parent Teacher Interaction Management System","archived":false,"fork":false,"pushed_at":"2025-02-05T15:12:50.000Z","size":3948,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-06T21:34:30.836Z","etag":null,"topics":["clerk-auth","next-js","postgresql","prisma-orm","shadcn-ui","supabase","tailwind-css"],"latest_commit_sha":null,"homepage":"https://schoolsyncdev.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/durjoydutta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-15T15:08:06.000Z","updated_at":"2025-04-15T16:50:15.000Z","dependencies_parsed_at":"2024-11-15T15:45:04.508Z","dependency_job_id":"a472b892-00b4-4944-b2c9-2e890693cfc0","html_url":"https://github.com/durjoydutta/schoolsync","commit_stats":null,"previous_names":["durjoydutta/schoolsync"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/durjoydutta/schoolsync","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durjoydutta%2Fschoolsync","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durjoydutta%2Fschoolsync/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durjoydutta%2Fschoolsync/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durjoydutta%2Fschoolsync/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/durjoydutta","download_url":"https://codeload.github.com/durjoydutta/schoolsync/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/durjoydutta%2Fschoolsync/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29480185,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T11:35:25.641Z","status":"ssl_error","status_checked_at":"2026-02-15T11:34:57.128Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clerk-auth","next-js","postgresql","prisma-orm","shadcn-ui","supabase","tailwind-css"],"created_at":"2024-12-03T19:02:55.193Z","updated_at":"2026-02-15T13:36:42.453Z","avatar_url":"https://github.com/durjoydutta.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏫 Next.js Full-Stack School-Management Application /w Video Conference Integration\n\nThis 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.\n\n---\n![Screenshot 2025-02-05 204026](https://github.com/user-attachments/assets/247249a3-2090-42a2-b92c-eeae039f91d6)\n\n## 🚀 Key Features\n\n### 🔒 **Authentication \u0026 Authorization**\n- Secure user authentication via **Clerk.dev**.\n- Role-based access control:\n  - Admin, Teacher, Student, Parent roles with granular permissions.\n  - Protected routes ensuring secure access.\n\n### 🗨️ **Parent Teacher Communication**\n- Simple way to communicate with teacher via **Calendly** and Custom Form.\n- Role-based access for parent and teacher\n- Effective Communication:\n    - Videon Conference\n    - Chat Message\n    - Custom Form\n\n### 📊 **Admin Dashboard**\n- Overview of user stats, events, and metrics.\n- Interactive data visualization (charts and dashboards).\n- User and role management with search, create, update, and delete capabilities.\n\n### 📚 **Teacher Dashboard**\n- Manage schedules, lesson plans, assignments, exams, and results.\n- Monitor student performance and activities.\n\n### 🎓 **Student Dashboard**\n- View class schedules, assignments, exam results, and attendance records.\n\n### 👪 **Parent Dashboard**\n- Monitor children’s academic progress, schedules, and results.\n- Communication tools for parent-teacher interaction.\n\n### 🔄 **Data Management**\n- CRUD operations for managing users, classes, subjects, assignments, exams, and results.\n- Efficient data fetching and pagination.\n- Advanced search and filtering for quick data retrieval.\n\n### 📱 **Responsive Design**\n- Fully optimized for all screen sizes and devices.\n\n### ⚙️ **Modern Tech Stack**\n- **Frontend:** Next.js, TypeScript, Tailwind CSS, Clerk.dev.\n- **Backend:** Next.js, Prisma ORM, PostgreSQL with **Supabase**.\n\n---\n\n## 🛠️ Getting Started\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/durjoydutta/schoolsync.git\n   cd schoolsync\n\n\n2. **Install dependencies:**\n   ```bash\n   npm install\n   ```\n\n3. **Environment Variables:**\n\nCreate a `.env.local` file in the root directory and use the following as an example configuration:\n\n```plaintext\n  # Environment variables declared in this file are automatically made available to Prisma.\n  # See the documentation for more detail: https://pris.ly/d/prisma-schema#accessing-environment-variables-from-the-schema\n\n  # Prisma connection string for PostgreSQL\n  DATABASE_URL=\"postgresql://\u003cusername\u003e:\u003cpassword\u003e@\u003chost\u003e:\u003cport\u003e/\u003cdatabase\u003e?pgbouncer=true\u0026connection_limit=1\"\n\n  # Direct connection to the database for migrations\n  DIRECT_URL=\"postgresql://\u003cusername\u003e:\u003cpassword\u003e@\u003chost\u003e:\u003cport\u003e/\u003cdatabase\u003e\"\n        \n  DATABASE_PASSWORD=\"\u003cdatabase_password\u003e\"\n\n  # Clerk configuration\n  NEXT_PUBLIC_CLERK_SIGN_IN_URL=/auth\n  NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_\u003cyour_clerk_publishable_key\u003e\n  CLERK_SECRET_KEY=sk_test_\u003cyour_clerk_secret_key\u003e\n  ```\n\n4. **Run database migrations:**\n   ```bash\n   npx prisma migrate dev\n   ```\n\n5. **Start the development server:**\n   ```bash\n   npm run dev\n   ```\n\n6. **Access the application:**\n   Open your browser and navigate to [http://localhost:3000](http://localhost:3000).\n\n---\n\n## 📂 Project Structure\n\n```\nschoolsync/\n├── app/\n│   ├── admin/\n│   ├── student/\n│   ├── teacher/\n│   ├── parent/\n│   ├── signin/\n│   ├── ... other pages\n├── components/\n│   ├── Menu.tsx\n│   ├── Navbar.tsx\n│   ├── CountChart.tsx\n│   ├── ... other components\n├── prisma/\n│   ├── schema.prisma\n├── public/\n│   ├── images/\n│   ├── ... other assets\n├── server/\n│   ├── actions/\n│   │   ├── createUser.ts\n│   │   ├── updateStudent.ts\n│   ├── db/\n│   │   ├── client.ts\n├── styles/\n│   ├── globals.css\n├── ... other files\n```\n\n---\n\n## 🚀 Deployment\n\n### **Deploy to Vercel**\n1. Push your code to a GitHub repository.\n2. Connect your repository to Vercel.\n3. Vercel will automatically build and deploy your application.\n\n### **Deploy to Other Platforms**\nFollow the instructions for your chosen platform (e.g., Netlify, AWS).\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Submit issues or pull requests to improve this project.\n\n---\n\n## 📜 License\n\nThis project is licensed under the **MIT License**. See the LICENSE file for details.\n\n---\n\n\n**Crafted with ❤️ by Group-7**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdurjoydutta%2Fschoolsync","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdurjoydutta%2Fschoolsync","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdurjoydutta%2Fschoolsync/lists"}