https://github.com/arturovaine/crud_fullstack
A full-stack CRUD application featuring a React front-end and a Node.js backend with Fastify, showcasing CRUD operations on predefined entities. Includes robust backend functionalities with MySQL database integration, security features like rate limiting and JWT authentication, and API documentation via Swagger.
https://github.com/arturovaine/crud_fullstack
fastify node-js reactjs
Last synced: 15 days ago
JSON representation
A full-stack CRUD application featuring a React front-end and a Node.js backend with Fastify, showcasing CRUD operations on predefined entities. Includes robust backend functionalities with MySQL database integration, security features like rate limiting and JWT authentication, and API documentation via Swagger.
- Host: GitHub
- URL: https://github.com/arturovaine/crud_fullstack
- Owner: arturovaine
- Created: 2024-02-20T22:19:56.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-14T23:15:31.000Z (over 2 years ago)
- Last Synced: 2024-03-15T00:28:52.487Z (over 2 years ago)
- Topics: fastify, node-js, reactjs
- Language: JavaScript
- Homepage:
- Size: 3.6 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### Context
- Creation of a CRUD Full Stack application based on tables with .ddl already defined
### Preview

### Requirements, list of features and aspects of the application
- Application in "monorepo" configuration
### Backend
Basic implementations/functionalities
- [x] Rest API that allows “CRUD” operations to be carried out on all entities;
- [x] API/backend in Node.js using the Fastify framework;
- [x] DBMS of any applicable preference; MySQL chosen -> there is native plugin Fastify
- [x] Security control: "rate limit" and jwt for access to API endpoints (Bearer token);
- [x] Swagger implemented for accessing API documentation;
- [x] SQL file containing the final DDL and some example data inserts;
- [x] Postman or Insomnia collection, in JSON format, for API testing.
> Login "Superuser" -> "username": "client01", "password": "password01"
Additional
- [ ] Controllers (responsibility for request and response)
- [ ] Error and validation middleware
- [ ] Services (business rules)
- [ ] Models (responsibility only for CRUD in the database)
- [x] Routes (route organization)
- [ ] ORM implementation (Sequelize, TypeORM, Prisma,...)
- [ ] TypeScript
- [ ] Docker
- [ ] Tests (unit, integration)
> npm install && node ./back/src/index.js
### Front-end
Basic implementations/functionalities
- [x] Frontend developed in React;
- [x] Front-end allows you to perform all CRUD operations on existing entities;
Additional
- [ ] Layouts and organization of screens, as well as the possible use of extra components/libraries, ...
- [ ] Docker
- [ ] Tests (unit, integration)