Ruby on Rails 6: Startup MVP: School Attendance Tracking App
What you'll learn
- create, edit, invite, ban, unban, delete, inivte users to your app
- add one or many roles to users, restrict access to data based on roles
- gem devise for logging in
- devise confirmable - confirm email to use app
- devise lockable - ban / unban users
- manage user roles
- restrict user access based on roles
- log in with google
- log in with facebook
- log in with twitter
- log in with github
- invite users via email with devise_invitable
- connect Amazon SES email service for sending emails for free
- deploy applications to production like a PRO
- invisible recaptcha
- how to architect complex applications
- how to manage money calculations
- how to create school schedules
- how to generate multiple records (lessons) based on a schedule
- how to generate multiple records (student attendances) for a lesson
- advanced search and filtering without gems
- how to display dynamic data in a calendar
- how to manage schedules across multiple teachers and students
- Modern browser and internet connection
- A basic understanding of programming would be helpful, Basic knowledge of Ruby and Rails will be a plus
- No paid software required
From a learning perspective, the course gives great insight into building the business logic layer of an application.
In this course you will build a complete group appointment scheduling and tracking application from start to finish.
Why build this app?
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.
Chapters 01-09: General features (Authorization and Authentication):
When creating a Web application, you usually have to start with the two key elements:
Authentication - User log in, user account management.
Authorization - User roles, permissions and access to different parts of your app.
We will Code-Along and build a Web App MVP covering all aspects of Log-In, User Management, and Role-Management functionality.
Basic authorization via email (Devise)
Social log in via Google
Social log in via Facebook
Social log in via Twitter
Social log in via Github
Devise invitable - Inviting users to join the app via email
Editing user profile
Managing user roles (admin, teacher, student) without any gems
Role-based access to different features (example: only admin can ban a user) without any gems
Blocking bot registrations
Sending transactional emails in production (Amazon SES)
By the end of Chapter 09 you will have created a boilerplate, based on which you can build any business application of your dream.
Chapters 10 - 20: School Lesson Calendar and Attendance Tracking features:
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.
This course can be interesting for Ruby on Rails developers of all levels: for beginners and for veterans.
As a beginner, you will get the whole experience of thinking and building the core lifesystem of any modern Web Application.
As a veteran, you will get acquainted with some exquisite approaches for problem-solving, and features that you could have not encountered in the past.
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.
Looking forward to seeing you inside!
Who this course is for:
- If you want to learn just enough about all aspects of Authentication & Authorization
- If you want to create your own School Administration Web app
- If you want to start your own startup by building your own websites and web apps.
- If you are already acquainted with Ruby on Rails and wants to deepen your knowledge
- If you want to learn how to build professional grade Ruby on Rails applications
- If you want to be a web app developer: This course will introduce you to many in-depth mechanics of Ruby on Rails
Hi, I'm Yaroslav, a Ruby on Rails Developer and Teacher.
10 years ago I started out by building language school management "software" in MS Access for family's business. I knew there should be a better way in "the magic world of programming", so I spent years learning until I finally released my first real software product, that the school has been running on since 2015.
Today I develop commercial CRM and SaaS applications with Ruby on Rails. I've also won 7 hackathons building fascinating projects with this technology!
Nowadays, thanks to online courses like this one you don't need years of theory to start creating meaningful software.
I love Ruby on Rails for it's simplicity and speed of development: you have the frontend, backend and server all in one place and you don't have to learn a lot of different technologies to make software that just works.
I believe in learning by practice. Learning by building professional-grade real world applications is fun and much more rewarding, than learning theory. In the end, you get paid not for what you know, but for what you create. I will teach you to create.
For me, building software is like an art and a passion. Like an architect, you design a perfect solution. Like a sculpture, you shape the way the person perceives it.
Being a software engineer can be rewarding, both financially and mentally.
Join my course and you will learn how to create beautiful software products from start to finish.