We recommend reading through this doc before you get started.
- Technical Requirements: What technologies will I be using?
- Further Exploration: What if I want to do more?
- Planning & Deliverables: What will I be turning in?
- Deadlines: When is the project due?
- Submission: How do I turn in the project?
- Presentation Guidelines: What should I cover during my presentation?
- Project Feedback: How will I get feedback from instructors?
What technologies will I be using?
Your app must meet the following technical requirements:
- Use a database. MongoDB or SQL; it's up to you.
- Build a full-stack application by making your own back-end and your own front-end.
- Create a complete product, which most likely means multiple related resources and CRUD functionality for each.
- Create a focused product. Know which features are essential to build for your MVP and which to set aside for later.
- Think about your users and build features that create a pleasing and logical user experience.
- Handle errors gracefully, and provide useful feedback to users when errors or validation failures do occur.
- Budget some time for looks; looks aren't everything but you'll feel better about your work and your presentation if you spend some time on the frontend of your project.
What if I want to do more?
- Incorporate an external API to add data and functionality to your application.
- Use a data visualization library to help users understand your core data.
- Implement third-party log in to allow users to access data from other services.
- Test; write tests for critical components of your code to ensure that it works.
Planning & Deliverables
What will I be turning in?
Project Planning Deliverables
You should review the following with your instructional team BEFORE you start to code.
- Scope: What are you planning to build? What do you reasonably think you can implement in the time period?
- User Stories: Who is your user? What features will your app have? Set up your project and user stories in Trello.
- Wireframes: Sketch out what your core pages will look like and how they will work. Consider making a paper prototype to demonstrate and/or test key user interactions.
- Data Models: Draw out the models and any associations for your project in an entity relationship diagram (ERD).
- Milestones: Divide your work into parts - the most essential features for your MVP, features that are important but not essential, and features that can be saved for a later iteration. Create 3-5 major milestones with dates outlining when you expect essential features will be done.
- Feasibility Study: If you're using an external API or scraping a website, make sure you can get that data. If you're using a new language, framework, or tool, go through its getting started tutorial. We will ask to see your results.
Completed Project Deliverables
- A working full-stack application, hosted somewhere on the internet.
- A git repository hosted on Github, with frequent commits dating back to the beginning of the project.
- A link to your hosted working app in the URL section of your Github repo.
- A link to your hosted working app.
- A paragraph-long description (elevator pitch) of your project.
- A list of the technologies used.
- A list of installation steps for the app itself and any dependencies - how would another developer run your site locally?
- Link to your user stories - who are your users, what do they want, and why?
- Link to your wireframes – sketches of major views / interfaces in your application.
- Link to your entity relationship diagrams – plan out your data relationships before coding.
- Descriptions of any unsolved problems or future features.
When is the project due?
Wednesday, January 15th, 2020 - Project planning deliverables due! Before beginning work on your project, your idea, project scope, and other planning deliverables must be approved by an instructor.
4:00pm, Wednesday, January 22nd, 2020 - Feature Freeze
1:30pm, Thursday, January 23rd, 2020 - Completed project deliverables due and presentations!
How do I turn in the project?
- As you make code changes, frequently commit and push to GitHub.
- You will be required to submit the GitHub URL and the URL to the live site in the business Slack channel.
What should I cover during my presentation?
Project 4 presentations will start at 1:30pm on Thursday, January 23rd, 2020. Each presentation should be 10 minutes or less and cover the following:
- What was your motivation to build this project?
- App summary
- Demo of your project's core functionality.
- What is one feature you're particularly proud of? (show code)
- Challenges you faced