GA SEI Project 2
Click here for working project deployed on heroku.
Demo Username: user1@testing
Demo Password: pudding
The Project:
This project was made for done 6 weeks into the Software Engineering Immersive course.
The brief was to create a full stack CRUD app of our own choosing using knowledge learnt in class and the help of the internet. My take on the CRUD app was in a form of a dog-dating website.The purpose for this website was to connect dogs in their local neighbourhoods, making organising doggy playdates easy and share information about all things dog-related.
Functionalities:
- Create user account with password authorization
- Create profile
- Edit profile
- Delete the account
- Search for other dogs using different categories(name, age, gender, breed, keywords and location)
- Private messaging
Technologies used:
Ruby, HTML, CSS, SQL, Postgres, Sinatra, BCrypt
Next Steps and Improvements:
- Add an error message when password is wrong
- Code cleanup
- Creating a "Like" button and a Ranking system for popularity based on number of "Likes"
- CSS needs some fixing - font colour change on hover not working
The Brief:
This second project is your first foray into building a database backed web application. You'll be building a Sinatra app, which means you'll learn about what it takes to build a functional application from the ground up yourself.
This is exciting! It's a lot, but we'll give you the tools to be able build what you need, and you get to decide what you do with it. We want to highlight the server side for this project but you get to be creative in choosing what sort of application you want to build!
You will be working individually for this project, and you'll be designing the app yourself. We hope you'll exercise creativity on this project, sketch some wireframes before you start, and write user stories to define what your users will want to do with the app. Make sure you have time to run these ideas by your instructors to get their feedback before you dive too deep into code! Remember to keep things small and focus on mastering the fundamentals – scope creep/feature creep is the biggest pitfall for any project!
Your app must:
- Have ideally 2 resources(tables) (more tables if they make sense or less tables) – one representing someone using your application, and one that represents the main functional idea for your app
- Include sign up/log in functionality(if they make sense), with encrypted passwords & an authorization flow
- Have complete RESTful routes for at least one of your resource with GET, POST, PATCH, and DELETE for read, create, update and delete
- Include wireframes that you designed during the planning process
- Have semantically clean HTML and CSS
- Be deployed online and accessible to the public
- A working full-stack application, built by you, hosted somewhere on the internet
- A link to your hosted working app in the URL section of your GitHub repo
- A git repository hosted on GitHub, with a link to your hosted project, and frequent commits dating back to the very beginning of the project. Commit early, commit often.
- A
readme.md
file with explanations of the technologies used, the approach taken, installation instructions, unsolved problems, etc. - Wireframes of your app, hosted somewhere & linked in your readme (photos of your sketches on paper or whiteboard are fined)
- A link in your
readme.md
to the publically-accessible planning diagrams