Solo project using Ruby with Sinatra web framework and PostgreSQL for data persistence to write an app for a Gym to help them to manage memberships and register members for classes.

Demonstrate learning in these areas

  • Object Oriented Programming
  • Test Driven Development
  • Relational Databases
  • RESTful routing and the MVC model.
  • CSS

Restrictions

  • No bootstrap CSS
  • No JavaScript

Project Brief:

Gym A local gym has asked you to build a piece of software to help them to manage memberships, and register members for classes.

MVP: The app should allow the gym to create / edit / delete members The app should allow the gym to create / edit / delete classes The app should allow the gym to add members to specific classes The app should show a list of all upcoming classes The app should show all members that are registered for a particular class

Suggested Extension: Classes could have a maximum capacity, and users can only be added while there is space remaining.

My Extensions: A wait list for classes - only shown Prevent Users from double booking themselves via filtered dropdowns Announcements on the Gym Home Page

Project Process:

Given More Time:

I would do a more thorough job of preventing double booking

Setup

In terminal run:

ruby app.rb

navigate to: http://localhost:4567/ in your browser to launch

MVP The app should allow the gym to create / edit / delete members The app should allow the gym to create / edit / delete classes The app should allow the gym to add members to specific classes The app should show a list of all upcoming classes The app should show all members that are registered for a particular class Possible Extensions Classes could have a maximum capacity, and users can only be added while there is space remaining. The gym could be able to give its members Premium or Standard membership. Standard members can only be signed up for classes during off-peak hours.