A modern web application built with Next.js 13 that facilitates seamless communication and meeting scheduling between parents and teachers.
-
Dual Authentication System
- Separate login portals for parents and teachers
- Role-based access control
- Secure session management
-
Meeting Management
- Schedule parent-teacher meetings
- Real-time meeting status updates
- Meeting request acceptance/rejection with feedback
- Comprehensive meeting history
-
User-Friendly Interface
- Responsive design for all devices
- Intuitive navigation
- Beautiful UI with modern design principles
- Real-time updates and notifications
- Username: parent
- Password: parent
- Username: teacher
- Password: teacher
-
Frontend
- Next.js 13 (App Router)
- React 18
- Tailwind CSS
- shadcn/ui Components
- TypeScript
-
Backend
- Next.js API Routes
- PostgreSQL with Supabase
- Server-side Authentication
-
Development & Deployment
- Vercel Deployment
- Environment Variables
- TypeScript
- ESLint
- Node.js 18.x or later
- PostgreSQL database (or Supabase account)
- npm or yarn package manager
-
Clone the repository:
git clone https://github.com/Eahtasham/Parent-Teacher-DBMS.git cd parent-teacher-portal
-
Install dependencies:
npm install # or yarn install
-
Set up environment variables: Create a
.env.local
file in the root directory:DATABASE_URL=your_database_connection_string
-
Run database migrations:
npx supabase db push
npm run dev
# or
yarn dev
The application will be available at http://localhost:3000
npm run build
npm start
# or
yarn build
yarn start
-
Login
- Choose between Parent or Teacher portal
- Enter credentials
- System redirects to respective dashboard
-
Parent Dashboard
- View all scheduled meetings
- Request new meetings
- Check meeting status
- View teacher feedback
-
Teacher Dashboard
- View pending meeting requests
- Accept/Reject meetings
- Provide feedback
- Manage schedule
-
Enhanced Features
- Real-time chat system
- Video conferencing integration
- Calendar integration
- Email notifications
- Student performance tracking
-
Technical Improvements
- Implement refresh tokens
- Add unit and integration tests
- Implement rate limiting
- Add WebSocket for real-time updates
- Implement proper password hashing
- Add forgot password functionality
-
UI/UX Improvements
- Dark mode support
- Accessibility improvements
- Mobile app development
- Offline support
- Multi-language support
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email your-email@example.com or open an issue in the repository.