Congratulations, you're at the end of module one! You've worked crazy hard to get here and have learned a ton.
For your final project, we'll be building a Command Line database application.
- Access a Sqlite3 Database using ActiveRecord.
- You should have at minimum three models including one join model. This means you must have a many-to-many relationship.
- You should seed your database using data that you collect either from a CSV, a website by scraping, or an API.
- Your models should have methods that answer interesting questions about the data. For example, if you've collected info about movie reviews, what is the most popular movie? What movie has the most reviews?
- You should provide a CLI to display the return values of your interesting methods.
- Use good OO design patterns. You should have separate classes for your models and CLI interface.
- Access a Sqlite3 Database using ActiveRecord.
- You should have a minimum of three models.
- You should build out a CLI to give your user full CRUD ability for at least one of your resources. For example, build out a command line To-Do list. A user should be able to create a new to-do, see all todos, update a todo item, and delete a todo. Todos can be grouped into categories, so that a to-do has many categories and categories have many to-dos.
- Use good OO design patterns. You should have separate models for your runner and CLI interface.
- Fork and clone this repository.
- Build your application. Make sure to commit early and commit often. Commit messages should be meaningful (clearly describe what you're doing in the commit) and accurate (there should be nothing in the commit that doesn't match the description in the commit message). Good rule of thumb is to commit every 3-7 mins of actual coding time. Most of your commits should have under 15 lines of code and a 2 line commit is perfectly acceptable.
- Make sure to create a good README.md with a short description, install instructions, a contributors guide and a link to the license for your code.
- Make sure your project checks off each of the above requirements.
- Prepare a video demo (narration helps!) describing how a user would interact with your working project.
- OPTIONAL, BUT RECOMMENDED: Write a blog post about the project and process.