This project is a sensitive data management application, developed with the goal of providing functionalities to create, access, and delete user account information, credentials, secure notes, cards, and Wi-Fi passwords. It is designed to ensure data security and user privacy.
![NestJS](https://img.shields.io/badge/nestjs-%23E0234E.svg?style=for-the-badge&logo=nestjs&logoColor=white) ![Prisma](https://img.shields.io/badge/Prisma-3982CE?style=for-the-badge&logo=Prisma&logoColor=white) ![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=for-the-badge&logo=typescript&logoColor=white) ![ESLint](https://img.shields.io/badge/ESLint-4B3263?style=for-the-badge&logo=eslint&logoColor=white) ![Prettier](https://img.shields.io/badge/-Prettier-blue?style=for-the-badge) ![Jest](https://img.shields.io/badge/-jest-%23C21325?style=for-the-badge&logo=jest&logoColor=white) ![supertest](https://img.shields.io/badge/-supertest-orange?style=for-the-badge) ![JWT](https://img.shields.io/badge/JWT-black?style=for-the-badge&logo=JSON%20web%20tokens) ![bcrypt](https://img.shields.io/badge/-bcrypt-green?style=for-the-badge) ![cryptr](https://img.shields.io/badge/-cryptr-green?style=for-the-badge)
To run this application, follow these steps:
Clone the repository to your local machine.
git clone https://github.com/wesleymichael/drivenpass-api.git
Install project dependencies:
npm install
.env.example
file and configure the environment variable for development as .env.development
.
npm run dev:migration:generate
npm run dev:migration:run
npm run start:dev
.env.example
file and configure the environment variable for testing as .env.test
.Apply database migrations using Prisma in a test environment:
npm run test:migration:generate
npm run test:migration:run
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:e2e:cov
/health
)/health
: Returns the message "I am okay!"
with the status code 200 OK
./users
)The application allows users to create accounts and use them to access other functionalities.
#### Account Creation
409 Conflict
).400 Bad Request
).#### Account Access
401 Unauthorized
./credentials
)Credentials refer to login information for websites and services.
#### Credential Creation
400 Bad Request
.409 Conflict
).#### Credential Retrieval
/credentials
route or a specific credential using its ID on the /credentials/{id}
route.403 Forbidden
.400 Bad Request
.404 Not Found
.200 OK
).#### Delete Credentials
400 Bad Request
.404 Not Found
.403 Forbidden
./notes
)Secure Notes are text-based information.
#### Secure Note Creation
400 Bad Request
.409 Conflict
).#### Secure Note Retrieval
/notes
route or a specific secure note using its ID on the /notes/{id}
route.403 Forbidden
.400 Bad Request
.404 Not Found
.#### Delete Secure Notes
400 Bad Request
.404 Not Found
.403 Forbidden
./cards
)Cards represent credit and/or debit cards.
#### Card Creation
400 Bad Request
.409 Conflict
).#### Card Retrieval
/cards
route or a specific card using its ID on the /cards/{id}
route.403 Forbidden
.404 Not Found
.#### Delete Cards
400 Bad Request
.404 Not Found
.403 Forbidden
./wifi
)Wi-Fi entries represent access data for an internet network.
#### Wi-Fi Creation
#### Wi-Fi Retrieval
/wifi
route or a specific Wi-Fi entry using its ID on the /wifi/{id}
route.403 Forbidden
or 404 Not Found
, respectively.#### Wi-Fi Deletion
400 Bad Request
.404 Not Found
.403 Forbidden
./erase
)401 Unauthorized
.Contributions are welcome! Feel free to open issues and send pull requests to improve this project.