You will be creating a full stack application using Ruby on Rails and MySQL.
By the time you submit this project, you will have covered new ground in, and reviewed, many of the big themes of the course so far:
- Command Line: Practice interacting with the computer and navigating the filesystem from the command line.
- Source Control: Manage and interact with a git repository to store changes to code.
- Programming Fundamentals: Work with objects, constructors, events, while learning how to strategically solve problems and resolve errors.
- Web Fundamentals: Learn how communication happens over the internet, and how to structure, style, and animate documents within a browser. Also learn how to respond to actions your users take and the data they input into the browser.
- Browser Applications: Dive into CSS, and figure out how to use libraries and frameworks to get lots of style and functionality for free.
- Deployment: Host a static web site in a managed hosting environment.
- Responsive Web Design: Making web applications that respond to device size.
- Server Side Applications: Server-side scripting is a technique used in web development which involves employing scripts on a web server which produce a response customized for each user's (client's) request to the website.
- Databases: A structured set of data held in a computer, especially one that is accessible in various ways.
- SQL: SQL is used to communicate with a database. It is the standard language for relational database management systems. SQL statements are used to perform tasks such as update data on a database, or retrieve data from a database.
- Ruby: Ruby programming fundamentals including Object Oriented Programming with Classes and Inheritance.
- Ruby on Rails: A web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
- Build a web application from scratch, must be your own work.
- Use Ruby on Rails framework to build your application
- Don't use Rails Scaffolding for generating your resources.
- Deploy on Heroku so application is live on the web
- Create a
README.md
file that explains your app to the world
- User must be able to sign up
- User must be able to sign in
- User must be able to change password
- User must be able to sign out
- User must be able to create a resource
- User must be able to edit a resource
- User must be able to view all resources they created
- User must be able to view a single resource they created
- User must not be able to edit or delete other users' resources
- Make application responsive
- Use a 3rd party gem like bootstrap
- Seed database from CSV file of data
- Use a 3rd party API with httparty
- Allow users to upload image files
- Rails Active Storage Video
- Amazon s3 Tutorial
- s3 Heroku Tutorial
- Projects are due on Thursday, 12/26 at 8.30am!
- You have to fill the google sheet before 8.30am with you name, github link and deployed link
- A 10 minute presentation in which you answer the following questions:
- What is the application about?
- Is there any information you think might help us understand what you built?
- Demo of application
- What features did you include?
- Make sure to explain anything "new" (things that we didn't cover in class)
- What was the most difficult part of the project?
- What was your favorite part to work on?
- What would you like to add next?