Your assignment for this week is to think of a capstone project idea and create a plan for the project.
- The project must be a React application, bootstrapped with
create-react-app
- Your app must be created and visible in a Github repo under your Github account
- Your app must be your own work. You may have a partner if you'd like, but be aware that you'll need to come up with a strategy for working together. Most developers on small projects create branches for new features/fixes, then merge them back into the
master
branch. Merge conflicts can arise, and you'll need to know how to resolve them. - Your app should be deployed onto a web server and publicly accessible
- Your app should be polished. Some recommendations for this requirement:
- Remove
console.log
statements once you're finished with development - Utilize CSS and images to make your app look great
- Check for any React errors in the console
- Perform some basic user testing. Have other people use your app and receive feedback on usability
- Keep your feature set small, so you'll have time to polish the app
- Remove
Other than the above requirements, you're encouraged to be creative and create something you're proud of. It can be as simple or as complex as you want, and it should be high quality.
Above are the requirements for the project. For this week however, you'll need to create a plan for your project. More details are to come, but you'll need to create a pull request with the following:
- The name of your project
- An elevator pitch (a paragraph about what your project does). Be sure to address:
- Who will use your project
- The value that your project will provide to the end user
- Wireframes to help visualize what your project will look like
- These wireframes do not have to be high-fidelity. You're free to use boxes, hand drawings, etc.
- A list of dependencies you'll be using for your project (npm modules, APIs, Firebase, etc.)
- This list will likely change as you work on your project, but listing your dependencies will help you visualize the complexity of the project
- A list of tasks that need to be completed for your project
- Example list of tasks for the Star Wars films example:
- Setup
create-react-app
scaffold - Call the Star Wars API and print results
- Store API results in React component state
- Render React state
- Setup
- Example list of tasks for the Star Wars films example:
- A plan for the next 3 weeks and what you plan to accomplish each week
- Keep the scope of your project small. A small, completed project is much better than a large, incomplete project. You can create a list of "nice to have" features that you can work on if you have time.
- Ensure you have plenty of buffer time in your schedule. Life events pop up, and tasks usually take longer than initially estimated.