For the first time, we will each be building a full-stack application from the ground up, entirely of our own designs.
This is exciting! We've given you the tools over the past few weeks to be able build what you need, and now you get to decide what you do with it. Now is your chance to exercise your own creativity 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 will be taking attendance at 9:00am per usual every morning of project week.
You must submit your idea, complete with ERDs, to your squad leader by 11:00am Friday, August 4th. After submitting your complete proposal with ERDs, you will receive feedback and/or approval for your project idea by 2:30pm.
Remember to focus on your MVP first — scope creep/feature creep is one of the biggest potential pitfalls for any app in development! This is true not just for beginners, but for all developers.
Your app must...
See Useful Resources below
By Thursday, August 10th at 12:00pm, create an issue on the project2-gallery repository containing...
a link to your Project 2 Github repository
Please do not fork this repo
a link to your screencast presentation
Refer to the presentations.md file for more information on how to record your video
Your repo should contain...
readme.md
file in the root of your repo, with explanations of the technologies used, the approach taken, features, installation instructions, unsolved problems, etc.planning
directory in the root of your repo containing an ERD mapping out your project domain. You are welcome to include other planning documents (e.g., wireframes, user stories).If you aren't a planner, start now.
Begin with the end in mind. Spend a dedicated block of time to planning with wireframes and user stories so you don't waste time building things you don't need.
Write pseudocode before you write actual code. Thinking through the logic of something helps streamline your process.
User stories define what a specific type of user wants to accomplish with your application. It's tempting to just use your list of user stories as a todo list, but try to avoid this. If you keep your user stories small and focused on what a user cares about being able to do. This will help you prioritize your tasks and which features to build first.
Don't hesitate to write work-around code to solve short-term problems. Refactor later.
Read the docs for whatever technologies you use. The docs often include a tutorial that can help you get started, and learning to read documentation is crucial to your success as a developer.
The world can be a depressing place. Your task is to create an app that will allow people to create and share "cheerups" - happy little quips to brighten other peoples' days. Cheerups will be small - limited to 141 characters. Members will be able to promote Cheerups that they like and maybe even boost the reputation of the Cheerupper.
You will create an application where users can bookmark links they want to keep. But what if users could trade bookmarks for other bookmarks? Or sell bookmarks for points? Or send bookmarks to your friends. Or something even crazier.
Users will be able to register and create albums and photos. Albums and photos can be named and described by their owners. Users will be able to view other users' albums. Maybe users can comment on photos, or either up/down vote them. (Please note: file uploading can be tricky and memory-intensive.
gem
. Mini-lesson here.Instructors will be offering in-person support each morning from 10:00am - 12:00pm in Classroom 5.
We will be providing continuous support via GitHub, on the issues section of this repo. This is to mirror "in-the-wild" practices. Oftentimes, developers will interact with each other via GitHub issues, particularly in remote work settings.
Students will be limited to 10 minutes at a time with one-on-one instructor support. We are doing this to ensure we can support ALL students during a session as well as giving you an opportunity to try working through your problem.
To submit an issue requesting support, please follow this process:
1. Add, commit, and push your current code to your remote repository
2. Submit an issue to this repository with the following information:
We also strongly recommend using Slack to get help from your classmates. Chances are you all will be running into similar problems.