An open API service indexing awesome lists of open source software.

https://github.com/gichbuoy/restful_api

Backend NodeJS API with a React frontend client
https://github.com/gichbuoy/restful_api

api bootstrap5 mvc-architecture nodejs npm reactjs rest-api

Last synced: 8 months ago
JSON representation

Backend NodeJS API with a React frontend client

Awesome Lists containing this project

README

          

## RESTFul Backend Node.js API with React Client

### Overview
- This project involves the development of a backend API using Node.js along with a frontend React client.
- Read the blog about this project on [Medium](https://medium.com/@lexizgichbuoy/building-a-robust-node-js-api-with-react-frontend-a-backend-engineers-journey-0fcbb8f34fa0)

- The API will be plugged to our frontend client, that will speak to the API through HTTP protocol.

## Technologies Used
* Node.js
* React
* Bootstrap

## Features

### Backend

* Communicate with the backend. HTTP methods and codes.

* Request API endpoints

* Calling the **CRUD**(Create-Read-Update-Delete) endpoints from the client.

* Validate the input data validation with [yup](https://github.com/jquense/yup) schema validation. (yup schema validator validates input received from body of API)

* [Helmet](https://github.com/helmetjs/helmet) package to improve the security of API by setting HTTP response headers.

* Using API documentation generator [JSDoc](https://github.com/jsdoc/jsdoc) to add documentation to functions.

### Frontend
* Designed the frontend with reusable components.

* Styled-components

* Addition of pages using [React-Router-Dom](https://github.com/remix-run/react-router)

- Created Users

![post request](https://github.com/Gichbuoy/RESTful_API/blob/Alex/backend/screenshot/allUsers.png)

- Edit User

![post request](https://github.com/Gichbuoy/RESTful_API/blob/Alex/backend/screenshot/editUser.png)

## Contributing
Contributions to the project are welcome! If you would like to contribute, please follow these guidelines:

* Fork the repository and clone it locally.

* Create a new branch for your feature or bug fix.

* Make your changes and test thoroughly.

* Commit your changes with clear and descriptive commit messages.

* Push your branch to your forked repository.

* Create a pull request with a detailed description of your changes.

## License
This project is licensed under the [MIT](https://github.com/Gichbuoy/RESTful_API/blob/main/LICENSE) License

## Acknowledgements
I would like to acknowledge [Wellington-Mwadali](https://github.com/wellingtonmwadali) for working on the frontend part of this project.