- This test is owned by Swirge and is solely used to facilitate Swirge interview process only.
- This test covers the basics of working with NodeJS working environment, which includes a) Basic git operations b) NodeJS environment setup d) CRUD with mysql DB d) Unit test with jest
- This test is intented to solve real life scenario with open book concepts.
- Ability to setup and run nodejs application
- Understanding of how API works, through routing in expressjs
- Understanding of basic error handling
- Understanding of basic CRUD operations with mysql
- Know how to write unit test and/or integration test
- Have git, npm installed and running in local machine
- Have mysql installed in local machine
- Use node version > v14.17.2
- Get a list of 5 cat facts from public API
- Assuming mysql is installed at localhost:3306, save the list to the database and get it on next load i.e. when you hit up the route, if it doesn't have any data in the database, hit up the API, else fetch from the database
- Add the functionality to get a single record, update and delete saved record
- Write unit test and/or integrated test for all functionalities
- Clone this repo
- Fill in the blanks in code and get server up and running in local
- Create basic implementation of CRUD operations for predefined data
- Write test to cover server functionalities, especially API
- Do proper error handling to tackle network issues (4xx, 5xx errors)
- Upload the code to a repo and share the link
- Showcase your ability to write clean code
- Showcase your understanding on object-oriented programming concepts using javascript
- You may change the structure of the files to achieve the same goals
- Using standard library will be a plus
- Commenting your thinking flow and add function definition will be a big plus