-
Link to demo app
-
Elevator pitch
-
App features
You can consider using a checklist format, to show which features are completed so far.
- What does the stack look like? E.g. database, API server, browser app, etc. If you can draw a diagram, all the better.
- Anything specific that you're proud of, or want to highlight?
- How to set up development environment and run the project locally.
- Mind your
.gitignore
, aka: don't check in extraneous files. - Tidy code and file organization.
- Most important code at the top of the file.
- Consistent and meaningful filenames.
- Consistent and meaningful component, variable, and function names.
- Remove debugging statements.
- Remove unnecessary comments.
- Remove unnecessary files.
- Make sure you don't accidentally check in any secrets.
- Lint your code (eslint)
- Format your code (prettier)
- 4–6 weeks is a lot less time than you think.
- Be careful of introducing too many new technologies.
- User experience is more important than styling.
- Identify risks early on.
- Consider using design-led process—work backwards from the UI.
- Plan your progress so that the app always works.
- Ask for code review as early as possible, and do it throughout your project.
- Think about dependencies. For example, if you require the user to log in, then perhaps set up the user and authentication infrastructure first.
- As early in the project as possible, deploy your code.
- Set up an easy way to deploy, so you're always deploying.
- Get into the habit of using feature branches, and deploy from your
main
. - Try to write meaningful commit messages: what changed, why was it changed?
- General workflow:
- Plan a discrete chunk of work.
- Do the design and planning work, if necessary.
- Make it work.
- Deploy it.
- Refactor.
- Deploy.
Working with third-party APIs should always be considered a risk, unless you already have prior experience with it. You'll want to actually play with it as early in the project as possible, so you can thoroughly understand how your code is going to interact with it.
- Does it have limitations that'll hinder your app? E.g. usage limits.
- Is there already a client library that you can use?
- Will you interact with it on the client side or the server side?
- If the credential cannot be leaked, then you'll want to proxy the API access using your own backend.