Archy-test-ui is a is a basic test project to demonstrate basic frontend react knowledge and API intergation.
Click here to view the app on Netlify and here to view the API on heroku.
The app has all 4 CRUD functionalities implemented;
- A client user can:
- view the list of available users
- click on each row to edit / update the user data
- delete a user data
- create new user data
The application API was developed with NodeJs, Express was used for routing and Mysql2 for database management, The ApI is also developed with Typescript and Sequelize was used as the ORM.
Follow the steps below to setup a local development environment for the backend. First ensure you have Mysql2 installed, and a version of Node.js equal or greater than v6.10.0 .
- Clone the repository from a terminal; git clone
https://github.com/codecell/test_server.git
. - Navigate to the project directory
cd test_server
- Rename
.env.sample
to.env
and add the required DATABASE settings. - Install project dependencies
npm install
- To run migrations and start the express server, navigate to src/index.ts and
un-comment
theawait sequelizeInstance.sync
call then runnpm run dev
to serve the project.
Follow the steps below to setup a local development environmen for the frontend. First ensure you have Create-react-app and associated build packs installed, and a version of Node.js equal or greater than v6.10.0 .
- Clone the repository from a terminal; git clone
https://github.com/codecell/archy-test-ui.git
. - Navigate to the project directory
cd archy-test-ui
- Install project dependencies
yarn install
- Start the express server
yarn start
to serve the user interface.
View full API documentation here
EndPoint | Functionality |
---|---|
GET api/users/all | Allows a client to view all users. |
POST api/users/new | Allows a client to create a user. |
PATCH api/users/:id? | Allows a client to edit/update a specific user. |
DELETE api/users/:id? | Allows a client to delete a specific user |
Currently, unit tests have not been written for any of the frontend or backend yet, but i hope to add those soon.
MIT