Simple card app created with Typescript Stack Converted to a test from the original
NodeJS - if you don't already have it installed, check out nvm.
If you don't have a favorite editor we highly recommend VSCode.
Recommended VSCode extensions:
Your assignment is to improve this application. At the moment the application is simple and can only create and remove todos.
Fork this project into your own on github
Clone it onto a machine with node and a development environment (we use VScode) Follow the instructions below to run the back end and the front end.
Then make changes to:
- Add a dark mode. Create a settings dialog to set it - and change the styling to render a dark mode. Consider how the current setting is passed to the components (and describe it in your covering email)
- Add a scheduled date to the cards. This involves adding a column in the database, changing the backend service and changing the frontend card entry and display components
- Add tests to the backend. There are some clues here and here.
If you feel constrained by time (which is totally fine!), prioritize quality over quantity.
Email us the link to your repo when you're done. Please also include a short write up describing the rationale of the changes you have made.
- Mutiple Routes for each action.
- Local Backend Database
- You can View, Create, Update, Delete simple cards.
- React ⚛
- React Router DOM 🔀
- Tailwind CSS 🐦
- Fastify 🚀
- Prisma ORM 🅿
- SQLite ▪
Git hooks are used to automatically format committed files. To setup the hooks run:
npm i
The front end works in port 3000 and the backend works in the port 3001.
npm install
npm run prisma-setup
npm start
To have the backend restart when changes have been made to .ts
, .prisma
and .sql
files:
Replace npm start
with npm run dev
To run the tests:
npm run test
npm install
npm start
To deploy a final build with static files:
npm run build
cd ./dist
npx serve -p 3000 -s