SaaS Development for Teachers' Calendar Management
Budget: €1,500 – €3,000 EUR
### Detailed Functionality Description
#### Teacher Management
1. **Teacher Data Upload**:
- Module to add and update teacher information, including:
- First and last name
- Email
- Phone number
- Subjects taught (both theoretical and practical)
- Hourly and daily availability
- Locations where the teacher is available to teach
- Intuitive interface for quick data entry with the ability to import data from CSV or Excel files.
- Tabular view of teachers with search and filter functionalities.
2. **Hourly and Daily Availability**:
- Interactive calendar to set daily and hourly availability of teachers.
- Drag-and-drop functionality for easy time adjustments.
- Ability to set recurring availability (e.g., every Monday from 9:00 to 11:00).
- Option to add notes or comments for each availability block.
- Selection of locations where the teacher can be available for each availability period.
3. **Subjects**:
- System to associate subjects with each teacher, distinguishing between theoretical and practical subjects.
- Interface to add, modify, and remove subjects.
- Display of subjects associated with each teacher and the ability to filter teachers by subjects taught.
- Assignment of practical labs to practical teachers, with details on the labs where they can teach.
#### Calendar Management
1. **Holidays and Absence Days**:
- Module to configure school holidays (e.g., Christmas, Easter) that affect lesson scheduling.
- Ability to add specific absence days for teachers, with the option to specify the reason.
- Calendar view showing holidays and absence days, distinct from availability days.
2. **Automatic Calendar Generation**:
- Algorithm that automatically generates lesson schedules based on teacher availability, subjects to be taught, class needs, and lab availability.
- Consideration of holidays, absence days, and teacher availability across different locations to avoid conflicts.
- Assignment of practical labs to practical teachers based on their availability and specific lab requirements.
- Weekly and monthly calendar views with export options in various formats (PDF, Excel).
#### Resource Management
1. **Rooms and Labs**:
- Module for managing rooms and labs, with the ability to add, modify, and remove rooms and labs.
- Detailed specifications for each room and lab, including:
- Room/lab name
- Location
- Capacity
- Available equipment (for labs)
- Display of available rooms and labs and their bookings.
2. **Study Classes**:
- System to manage study classes, including:
- Class name
- Number of students
- Academic year
- Ability to associate each class with specific subjects and teachers.
- Display of the lesson schedule for each class.
3. **Locations**:
- Management of different school locations with detailed information:
- Location name
- Address
- Contacts
- Association of rooms and labs with their respective locations.
- Display of resources (rooms, labs, teachers, classes) for each location.
### Detailed Usage Process
1. **Data Entry**:
- The administrator accesses the teacher management module to add new teachers, specifying first name, last name, email, phone number, theoretical and practical subjects, availability, and locations where they are available to teach.
- Use of the interactive calendar to set the weekly availability of teachers and specify locations for each availability period.
- Configuration of subjects and association of subjects with teachers, including the assignment of practical labs.
2. **Holidays and Absence Configuration**:
- The administrator configures school holidays and adds specific absence days for teachers.
- Review of the calendar to check teacher availability throughout the academic year.
3. **Resource Management**:
- Addition and management of rooms and labs, specifying capacity, location, and available equipment.
- Entry of study classes, associating each class with relevant teachers and subjects.
- Management of different school locations, with a view of available resources.
4. **Calendar Generation and Review**:
- Use of the algorithm to automatically generate the lesson schedule, considering teacher availability, preferred locations, and practical lab requirements.
- Review of the generated calendar to identify and resolve any conflicts or necessary adjustments.
- Export of the final calendar in PDF or Excel format for distribution and consultation.
Skills and Experience Required:
- Proficiency in Full Stack Development, Next.js, and Tailwind CSS.
- Strong background in Prisma Client, familiar with its integration and operation.
- Experience in developing SaaS platforms, preferably those related to calendar management or similar functions.
- Strong background in responsive website design, user authentication, and database integration.
If you are a flexible developer eager to contribute to an essential tool that has a real-world impact, I encourage you to apply. This project offers an opportunity to showcase and enhance your skills in SaaS development.
#### Teacher Management
1. **Teacher Data Upload**:
- Module to add and update teacher information, including:
- First and last name
- Phone number
- Subjects taught (both theoretical and practical)
- Hourly and daily availability
- Locations where the teacher is available to teach
- Intuitive interface for quick data entry with the ability to import data from CSV or Excel files.
- Tabular view of teachers with search and filter functionalities.
2. **Hourly and Daily Availability**:
- Interactive calendar to set daily and hourly availability of teachers.
- Drag-and-drop functionality for easy time adjustments.
- Ability to set recurring availability (e.g., every Monday from 9:00 to 11:00).
- Option to add notes or comments for each availability block.
- Selection of locations where the teacher can be available for each availability period.
3. **Subjects**:
- System to associate subjects with each teacher, distinguishing between theoretical and practical subjects.
- Interface to add, modify, and remove subjects.
- Display of subjects associated with each teacher and the ability to filter teachers by subjects taught.
- Assignment of practical labs to practical teachers, with details on the labs where they can teach.
#### Calendar Management
1. **Holidays and Absence Days**:
- Module to configure school holidays (e.g., Christmas, Easter) that affect lesson scheduling.
- Ability to add specific absence days for teachers, with the option to specify the reason.
- Calendar view showing holidays and absence days, distinct from availability days.
2. **Automatic Calendar Generation**:
- Algorithm that automatically generates lesson schedules based on teacher availability, subjects to be taught, class needs, and lab availability.
- Consideration of holidays, absence days, and teacher availability across different locations to avoid conflicts.
- Assignment of practical labs to practical teachers based on their availability and specific lab requirements.
- Weekly and monthly calendar views with export options in various formats (PDF, Excel).
#### Resource Management
1. **Rooms and Labs**:
- Module for managing rooms and labs, with the ability to add, modify, and remove rooms and labs.
- Detailed specifications for each room and lab, including:
- Room/lab name
- Location
- Capacity
- Available equipment (for labs)
- Display of available rooms and labs and their bookings.
2. **Study Classes**:
- System to manage study classes, including:
- Class name
- Number of students
- Academic year
- Ability to associate each class with specific subjects and teachers.
- Display of the lesson schedule for each class.
3. **Locations**:
- Management of different school locations with detailed information:
- Location name
- Address
- Contacts
- Association of rooms and labs with their respective locations.
- Display of resources (rooms, labs, teachers, classes) for each location.
### Detailed Usage Process
1. **Data Entry**:
- The administrator accesses the teacher management module to add new teachers, specifying first name, last name, email, phone number, theoretical and practical subjects, availability, and locations where they are available to teach.
- Use of the interactive calendar to set the weekly availability of teachers and specify locations for each availability period.
- Configuration of subjects and association of subjects with teachers, including the assignment of practical labs.
2. **Holidays and Absence Configuration**:
- The administrator configures school holidays and adds specific absence days for teachers.
- Review of the calendar to check teacher availability throughout the academic year.
3. **Resource Management**:
- Addition and management of rooms and labs, specifying capacity, location, and available equipment.
- Entry of study classes, associating each class with relevant teachers and subjects.
- Management of different school locations, with a view of available resources.
4. **Calendar Generation and Review**:
- Use of the algorithm to automatically generate the lesson schedule, considering teacher availability, preferred locations, and practical lab requirements.
- Review of the generated calendar to identify and resolve any conflicts or necessary adjustments.
- Export of the final calendar in PDF or Excel format for distribution and consultation.
Skills and Experience Required:
- Proficiency in Full Stack Development, Next.js, and Tailwind CSS.
- Strong background in Prisma Client, familiar with its integration and operation.
- Experience in developing SaaS platforms, preferably those related to calendar management or similar functions.
- Strong background in responsive website design, user authentication, and database integration.
If you are a flexible developer eager to contribute to an essential tool that has a real-world impact, I encourage you to apply. This project offers an opportunity to showcase and enhance your skills in SaaS development.