Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/omkargade04/nestjs-assessment

This is a RESTful API which performs all the CRUD Operations. It is built using Nest.js in typescript. And PostgreSQL is used to store the user and book data. It also provides user authentication and authorization
https://github.com/omkargade04/nestjs-assessment

nestjs nodejs postgresql typescript

Last synced: 18 days ago
JSON representation

This is a RESTful API which performs all the CRUD Operations. It is built using Nest.js in typescript. And PostgreSQL is used to store the user and book data. It also provides user authentication and authorization

Awesome Lists containing this project

README

        


Nest Logo

[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456
[circleci-url]: https://circleci.com/gh/nestjs/nest

A progressive Node.js framework for building efficient and scalable server-side applications.



NPM Version
Package License
NPM Downloads
CircleCI
Coverage
Discord
Backers on Open Collective
Sponsors on Open Collective

Support us


## Description

This application is a BACKEND PROJECT which provides users with a RESTful BookAPI able to perform CRUD Operations and stores data using PostgreSQL Database with features such as user Authentication and Authorization.

[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.

## Installation

```bash
$ npm install
```

## Running the app

```bash
# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod
```

## Test

```bash
# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov
```
## Features of the Application
- This is a BookAPI which gives the user the specified book details.
- It allows CRUD Operations and the user can Add, Update, Get and Delete the Book details accordingly
- It is a RESTful API
- If you access the header with wrong username and password field you will get an error.
- The beauty of Nestjs is its unique Architecture which provides inbuilt Dtos, Controllers, Providers and Modules
- PostgreSQL is used to store the Book Details and the User Details.
- The User needs to be Authenticated to use the application. We dont have UI for Authentication but we do have an endpoint for it which we can integrate in future.
- The is also an endpoint for Role Authorization
-
## Flow of Application
- First step is you need to integrate your database(PostgreSQL) with the application
go to .local.env and add your database credentials accordingly
- Run the following command line : "npm run start:dev" to get started with the application
- To test the API endpoints, open any API Tester application such as Postman or Thunder Client.
- Make sure that the Header Field has the same username and password as given in the "book.guard.ts". username = "user", password = "password".
- Test the APIs and you are all set to go.

## Support

Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please [read more here](https://docs.nestjs.com/support).

## Stay in touch

- Author - [Kamil Myśliwiec](https://kamilmysliwiec.com)
- Website - [https://nestjs.com](https://nestjs.com/)
- Twitter - [@nestframework](https://twitter.com/nestframework)

## License

Nest is [MIT licensed](LICENSE).