AI-Powered Timetable Management for Educational Institutions
TimeTablePro is a modern, intelligent timetable management system designed specifically for educational institutions. It streamlines the complex process of creating and managing class schedules, optimizing resource allocation, and eliminating scheduling conflicts.
Built with SvelteKit and Appwrite, TimeTablePro offers a responsive, intuitive interface for administrators, teachers, and students, ensuring a seamless scheduling experience for institutions of all sizes.
- 🧠 Intelligent Scheduling - AI-powered conflict resolution and timetable optimization
- 📊 Resource Management - Efficient allocation of teachers, rooms, and other resources
- 👥 Role-Based Access - Tailored interfaces for administrators, teachers, and students
- 🔔 Real-Time Notifications - Instant updates for all users when schedules change
- 📱 Responsive Design - Works seamlessly on desktop, tablet, and mobile devices
- 🌓 Dark Mode Support - Eye-friendly interface for all lighting conditions
- 📈 Detailed Analytics - Insights to improve resource utilization and scheduling efficiency
- 🛡️ Enterprise-Grade Security - Protecting sensitive institutional data
- Frontend: SvelteKit 2.0, TypeScript, Tailwind CSS
- Backend: Appwrite Cloud
- Authentication: Appwrite Auth
- Database: Appwrite Database
- Hosting: Vercel/Netlify
- Node.js v16+
- Yarn or npm
- Appwrite Cloud account
- Clone the repository
git clone https://github.com/yourusername/timetablepro.git
cd timetablepro- Install dependencies
yarn install
# or
npm install- Configure environment variables
cp .env.example .env
# Edit the .env file with your Appwrite credentials- Initialize the database
yarn init-db
# or
npm run init-db- Start the development server
yarn dev
# or
npm run devVisit http://localhost:5173 to see your application running.
timetablepro/
├── src/ # Source code
│ ├── lib/ # Reusable components, stores, and utilities
│ │ ├── components/ # UI components
│ │ ├── config/ # Application configuration
│ │ ├── stores/ # Svelte stores for state management
│ │ ├── services/ # API and backend services
│ │ ├── types/ # TypeScript type definitions
│ │ └── utils/ # Helper functions
│ ├── routes/ # SvelteKit routes/pages
│ │ ├── (app)/ # Protected application routes
│ │ ├── (auth)/ # Authentication routes
│ │ └── api/ # API endpoints
│ └── app.html # HTML template
├── static/ # Static assets
├── scripts/ # Utility scripts
└── docs/ # Documentation
TimeTablePro supports three main user roles, each with tailored interfaces and permissions:
- Complete system control
- Create and modify all schedules
- Manage rooms, teachers, and students
- Access analytics and reports
- Configure system settings
- View personal teaching schedule
- Set availability preferences
- View assigned classes and rooms
- Receive notifications about schedule changes
- View personal class schedule
- Filter views (daily, weekly, monthly)
- Receive notifications about schedule changes
For more detailed information, please refer to the documentation:
- Getting Started
- API Reference
- Deployment Guide
- User Guide
- Environment Variables
- Development Guidelines
- System Architecture
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.