Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Ruby on Rails 6: Startup MVP: School Attendance Tracking App
Rating: 4.4 out of 5(39 ratings)
398 students

Ruby on Rails 6: Startup MVP: School Attendance Tracking App

Code-Along, learn new Rails features and learn to create an advanced School Schedule and Attendance Tracking Application
Last updated 9/2021
English

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

Course content

20 sections96 lectures11h 32m total length
  • INTRODUCTION0:09
  • create development environment, install ruby on rails 6, create app11:57

    Learn to set up a cloud-based Ruby on Rails 6 development environment using Cloud9, install Ruby 2.7.2 and Rails 6.1.0, and create a new Rails app with PostgreSQL and Redis.

  • push application to github3:57

    Learn how to push your Rails app to GitHub by creating a repository, configuring remotes, committing changes, and pushing to the main branch for version tracking.

  • PRO TIP - ssh connection - push to github without re-entering password5:22

    Set global git user name and email, generate an ssh key, add it to the ssh agent, and push to GitHub via ssh to avoid password prompts.

  • hello world - generate a static page12:59

    Create a static pages feature in Rails by generating a StaticPages controller with landing page and privacy policy views, wiring routes and navigation, and testing links.

  • connect heroku - run application in production7:02

    Push your Ruby on Rails startup MVP to production with Heroku, set up automatic deployments from GitHub, monitor logs and resources, and connect a custom domain while managing maintenance mode.

  • PRO TIP - delete changes, undo commits5:22

    Learn to save and undo changes in a Rails startup MVP by using git status, reset hard, and force push to manage commits on master.

  • AWS - no space left on device - add 20 gb storage3:11

    Increase your Cloud9 environment storage by creating a resize script, running the resize command to set 20 gb, then rebooting the instance to apply the new volume size.

Requirements

  • 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

Description

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 confirmable

  • Devise trackable

  • Devise lockable

  • Devise invitable - Inviting users to join the app via email

  • Banning users

  • Deleting users

  • 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