Welcome to the React evaluation assignment! We are excited to have you here and cannot wait to see what you can do with React and Typescript 🚀!
This assignment has been designed to test your skills in React and Typescript and give you an opportunity to demonstrate your knowledge. We encourage you to take your time and do your best work. Be thorough, be creative, and most importantly, have fun 🎉!
To get started, please read the instructions carefully and follow the steps outlined in this README file. We ask that you submit your assignment by using the included submission script and remind you to submit your work with attention to detail, including documentation and clear code comments where needed.
Remember, this is your chance to showcase your skills and impress us with your work. We hope you enjoy this assignment and look forward to seeing your submission. Good luck!
The assignments are designed to run on StackBlitz, but you are of course allowed to run them locally in your favourite editor.
- Read this README in full.
- Fork this repository to your own Github account.
- Click the "Get Started" button at the top of this README to open it in StackBlitz.
- Either use StackBlitz or work locally on your fork. The assignments are located in the
algorithms
andcredit-card
directories. - When you're ready to submit, run
npm run submit
and follow the instructions prompted.
We have included a few libraries in this assignment but feel free to add your own if you think it makes sense!
This part is meant to test your general Typescript skills. There's no need for any graphical elements in this part - focus on the functions themselves.
Make sure you:
- 🧪 Include tests!
- âš¡ Consider performance versus readability
- 🚫 Don't modify input and return types.
You can find the assignments in /src/algorithms/README.md
This part will test your React/Web skills and your ability to use domain specific logic to create a good user experience.
The assignment is to create a credit card form component that can be dropped in to any React application and be used to process payments.
You can assume that the payment endpoint expects a POST
request at /api/payments
and that the credit card information will be received without any sort of encryption or obfuscation.
Make sure you:
- 🧪 Include tests!
- 🤔 Consider what can be validated/detected without making a request to the payment server.
- 💥 Focus on the user experience from a functionality point of view.
You can find the assignments in /src/credit-card/README.md