drivenpass-nest-API

DrivenPass

DrivenPass is a sensitive data management application designed to provide functionality to create, access and delete user account information, credentials, secure notes and cards. The project aims to ensure data security and user privacy.

Documentation

Main Project Technologies:

Static Badge
Static Badge


How to Run

To run this application, follow these steps:

  1. Clone the repository to your local machine.

    git clone https://github.com/natividadesusana/drivenpass-nest-API.git
    
  2. Install project dependencies:

    npm install
    
  3. Configure environment variables:
    • Make a copy of the .env.example file and configure the environment variable for development as .env.development.
  4. Apply database migrations using Prisma in a development environment:
    npm run dev:migration:generate
    npm run dev:migration:run
    
  5. Start the application:
    npm run start:dev
    
  6. Documentation
    • After running the application at http://localhost:3000, the documentation will be available at http://localhost:3000/api
    • Ensure you configure the database and other settings as appropriate before using the application in a production environment. Refer to the documentation for more details on configurations and additional features.

Testing

  1. Configure environment variables:
    • Make a copy of the .env.example file and configure the environment variable for testing as .env.test.
  2. Apply database migrations using Prisma in a test environment:

     npm run test:migration:generate
     npm run test:migration:run
    
  3. Run the following commands:
     # e2e tests
     $ npm run test:e2e
    
     # test coverage
     $ npm run test:e2e:cov
    


Routes and Functionalities

โค๏ธ Health (/health)

๐Ÿ‘ค Users (/users)

Account Creation

Account Access

๐Ÿ”‘ Credentials (/credentials)

Credential Creation

Credential Retrieval

Delete Credentials

โœ๏ธ Secure Notes (/notes)

Secure Note Creation

Secure Note Retrieval

Delete Secure Notes

๐Ÿ’ณ Cards (/cards)

Card Creation

Card Retrieval

a card that does not belong to them, the application will respond with 403 Forbidden.

Delete Cards

๐Ÿ—‘๏ธ Delete Account and All User Data (/erase)

Contributions

Contributions are welcome! Feel free to open issues and send pull requests to improve this project.