Ruby on Rails: Build a School Management App MVP

11 Chapters
41 Lessons
Created 02/2021
Last updated 05/2021
All levels
Certificate of Completion
Access to Member-Only Q&A
Access to Member-Only Resources
Full Lifetime Access & Updates
Remote schooling has become the new normal. 
Educational institutions (schools, colleges, universities) need a way to track teacher schedules, lessons, and student attendances. 
That's where you come in!
In this practical code-along course you will learn to build an advanced, complete solution for managing an educational institution.

Some features of the final application that you will be building:

  • Enroll multiple students to one course
  • Create a lessons schedule for a course
  • Generate lessons according to the schedule
  • Generate attendances for enrolled students
  • Display lessons in a calendar
  • Update lesson status (planned / cancelled / confirmed)
  • Update attendance status for each student (planned / attended / not attended)
  • Advanced search and filtering for records in a calendar
  • Working with money: Calculate Teacher salary based on lessons taught and price of a lesson
  • Working with money: Calculate Student expences based on attendances and price of an attendance
  • Working with money: Calculate User balance
  • Create Monthly Reports based on lessons
By the end of the course you will have created your own school management web application MVP, that you will will be able to market any way you like!
We are not going to cover the fundamentals of what Ruby and Rails are: there are other, more basic courses for that.
Instead, we will dive straight into coding along and building our application step-by-step, feature-by-feature.
As well all enrolled students will have access to the source code, support materials and discussion groups.
As well this course comes on Udemy with 30 days money back guarantee, so you have nothing to lose.

Demo of the final application:

Looking forward to seeing you inside!

11 chapters
41 lessons

Chapter 1. getting started
3 lessons
1. Create Ruby on Rails 6 development environment (AWS Cloud9)
2. Create (clone repo), initialize application
3. Rename app, push to production (heroku)
Chapter 2. classrooms, services, groups
7 lessons
1. intro to app architecture
2. create classrooms table
3. gem simple_form for better form creation
4. better scaffold templates with bootstrap
5. basic classroom validations
6. services table and validations
7. courses table and validations
Chapter 3. generate lessons
6 lessons
1. add_schedule_fields_to_courses
2. gem ice_cube for recurring events
3. lessons table and validations
4. generate lessons based on schedule - basic generation
5. generate lessons based on schedule - time field
6. regenerate future lessons
Chapter 4. display lessons in calendar
2 lessons
1. gem simple_calendar - display lessons in calendar
2. calendar partial, styling, separate view, display in course show
Chapter 5. student enrollments
3 lessons
1. create enrollments table
2. gem cocoon - nested form to dynamically edit enrollments for course
3. display enrollments in course and calendar
Chapter 6. student attendances
4 lessons
1. attendances table and validations
2. edit lesson attendances with gem cocoon
3. generate lessons with attendances for users enrolled in a course
4. helper method to style lesson and attendance statuses
Chapter 7. nested resources
3 lessons
1. nested resources - lessons inside courses
2. link to create new lesson for course, prebuild values in form
3. path to delete lesson, dependent associations destroy or restrict
Chapter 8. advanced calendar search
4 lessons
1. better styling for calendar and association links
2. calendar with advanced filters - select user
3. calendar with advanced filters - select user, classroom, or course
4. display dynamic lesson information in calendar
Chapter 9. working with MONEY
6 lessons
1. gem money-rails - edit and reproduce price fields as integer
2. calculate price of all student attendances - based on attendance statuses
3. calculate price of all student attendances - save user attendances sum in db
4. calculate price of all student attendances
5. calculate teacher earnings based on lessons
6. calculate user balance
Chapter 10. Improvements and Adjustments
2 lessons
1. enrollment and attendance validations - teacher can not be enrolled or attend own course
2. create attendances - select only from enrolled users
Chapter 11. Thank You and Next Steps
1 lesson
1. Final thoughts