https://github.com/kauefraga/crud-rest
🔮 A restful CRUD to put some effort
https://github.com/kauefraga/crud-rest
api crud-rest-api eslint express good-practices nodejs rest-api typescript vitest
Last synced: 3 months ago
JSON representation
🔮 A restful CRUD to put some effort
- Host: GitHub
- URL: https://github.com/kauefraga/crud-rest
- Owner: kauefraga
- License: mit
- Created: 2022-09-13T23:20:55.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-10-27T23:28:54.000Z (over 3 years ago)
- Last Synced: 2025-03-21T14:09:19.515Z (over 1 year ago)
- Topics: api, crud-rest-api, eslint, express, good-practices, nodejs, rest-api, typescript, vitest
- Language: TypeScript
- Homepage: https://crud-rest.onrender.com/v1
- Size: 139 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
CRUDzão com Restful
🍃 Building an API Restful to use all good practices that i've known and keep learning 🍃
## ⬇️ How to download
```bash
git clone https://github.com/kauefraga/crud-rest.git
cd crud-rest
pnpm i
pnpm dev
# If you want to run tests
pnpm test
```
Or downloading with yarn? `yarn && yarn dev`
If you still prefer npm: `npm i && npm run dev`
## ✨ Features
- **Linters**: Eslint (config-airbnb-typescript)
- Huge tests coverage
- Code good practices
- Repositories pattern
- Implementation first and feature with dependencies after
## 💻 Technologies
- 🎟️ Generating unique identifiers with [CUID](https://www.npmjs.com/package/cuid)
- 💄 Code ruling with [Eslint](https://eslint.org)
- https://www.npmjs.com/package/eslint-config-airbnb-base
- https://www.npmjs.com/package/eslint-config-airbnb-typescript
- ⚗️ Running tests on [Vitest](https://vitest.dev)
> Implements Jest but with its own ESbuider (out of box typescript, esmodules...)
- 🧑💻 Developed on [Typescript](https://typescriptlang.org) + [TS-Node-Dev](https://npmjs.com/package/ts-node-dev)
> Improve dev experience by adding type safety
## 🗃️ Routes view (not implemented)
```bash
# Return a specific user -> user (!name = all users)
GET /users/{name} ou /users?name=...
# Return a specific user post -> post (!id = all user posts)
GET /users/name/posts/{id}
# Create a user -> user
POST /users/create
# Create a post -> post
POST /users/name/posts/create
# Update a post -> post (if i can, a diff)
PUT /users/name/posts/id
# Delete a user -> user/void
DELETE /users/name
# Delete a post -> post/void
DELETE /users/name/posts/id
```
## 📝 License
This project is licensed under the MIT License - See the [LICENSE](https://github.com/kauefraga/crud-rest/blob/main/LICENSE) for more information.
---