Example React app deployed to Heroku
Tech stack:
- React
- Redux
- Typescript
- json-server for mock backend deployed here, source code here.
- Frontend (this repo) deployed here.
Login with:
username: user0 password: user0
username: user1 password: user1
Not Completed:
-
CSS requires some refining
-
Currently login uses cleartext passwords, obviously would be using salted hashed passwords in production
Technical decisions made:
- The redux actions and reducers use a lot of boilerplate types, this might seem overkill for this small project but I have found it to be worth it when projects get much bigger and have many contributors
- Implement prettier/linting/typechecking scripts so that each pull request can run these in a CI/CD pipeline
- The pages/components directories are quite messy, and perhaps some of the files could reuse each other's code. A lot of components are using redux and internal state, and we should try to reduce this.
- Kept the redux store normalised.
- Could have used MobX instead of redux. This was a small project and would have saved time.
- Used material-ui for the CSS, as CSS can take a huge amount of development time.
- Did not use hooks since I have not studied them enough to be confident to quickly write this project with them.