I had an idea early on during the Flatiron section on ActiveRecord and Sinatra to design an app which would be based on my job as a music venue booker. A booker constantly needs to create new shows at the venue he or she books at, and needs to modify that event many times throughout the booking process. So I decided to create an app that does just that. Because I'm still a little early on in my understanding of relational databases, I chose to not implement all the functionality I would actually need to use this tool, but to create more of a starter project for something I might eventually create as my skillset and knowledge for the subject increases. Basically, I kept it simple. A user(or, booker) is able to create an account, choose the name of the venue they book for, and create and modify shows.
In terms of what that means in ActiveRecord speak, it means a User(venue) "has many" shows, and that shows "belong to" a user. I created two databases: One to manage the users(venues), and another to manage the shows and the users(venues) they were associated with.
The user is then able to go in and create as many shows as they'd like. They can input relevant information for that particular show, including the headlining act, support act, start date, start time, a short description of the show, and a website for the headliner. The user is then able to view all the shows in their database, and modify any of the shows.
The app uses restful routes and uses the CRUD method to create shows, read shows, modify (edit) shows, and destroy (delete) shows. Hopefully we won't have to use that last method too much, because venue bookers hate cancellations!