Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/diego64/nestjs-authorization

In development
https://github.com/diego64/nestjs-authorization

Last synced: 26 days ago
JSON representation

In development

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


Developed with the software and tools below.



Nest
Docker
MongoDB


Table of Contents

- [๐Ÿ“ Overview](#-overview)
- [๐Ÿงฉ Features](#-features)
- [๐Ÿ—‚๏ธ Repository Structure](#-repository-structure)
- [๐Ÿš€ Getting Started](#-getting-started)
- [โš™๏ธ Installation](#๏ธ-installation)
- [๐Ÿงช Tests](#-tests)
- [๐Ÿ“„ License](#-license)
- [๐Ÿ‘ Acknowledgments](#-acknowledgments)


## ๐Ÿ“ Overview

The project's main objective is to work with authentication and authorization using the Basic RBAC implementation feature that allows access to a certain route that types a specific permission.

---

## ๐Ÿงฉ Features

| | Feature | Description |
|----|-------------------|---------------------------------------------------------------|
| โš™๏ธ | **Architecture** | The project is developed based on the CLI of the Nest.js framework, enabling more accessible configuration of micro-services and documentation with other tools. |
| ๐Ÿ”ฉ | **Code Quality** | The codebase follows best practices with automated testing using nox and pytest. It includes linting, formatting, and packaging commands in the Makefile for maintaining code quality. |
| ๐Ÿ“„ | **Documentation** | Extensive documentation is provided for setting up the environment, managing dependencies, and automating tasks. |
| ๐Ÿ”Œ | **Integrations** | KKey integrations include Supase services for the clusters, Render for API hosting, and Kafka for microservices communication. |
| ๐Ÿงฉ | **Modularity** | The codebase is modular with abstract factory modules for parsers, parsers for various languages and frameworks, and utility functions for file handling and logging. |
| ๐Ÿงช | **Testing** | Testing frameworks like pytest are used for automated testing, with additional tools like pytest-asyncio for asynchronous testing and pytest-cov for coverage reporting. |
| โšก๏ธ | **Performance** | The project focuses on efficiency with tools like aiohttp for asynchronous HTTP requests, tenacity for retry logic, and anyio for asynchronous concurrency. |
| ๐Ÿ›ก๏ธ | **Security** | Security measures include handling API keys securely, validating Git repository URLs, and managing file permissions for cloning and fetching repositories. |
| ๐Ÿ“ฆ | **Dependencies** | Key dependencies include shapely, Docker, Prisma, JWT, Kafka, Supabase, Jest and various other libraries for different functionalities. |

---

## ๐Ÿ—‚๏ธ Repository Structure

```sh
โ””โ”€โ”€ task-manager
โ”œโ”€โ”€ .github
โ”œโ”€โ”€ src
โ”œโ”€โ”€ test
โ”œโ”€โ”€ .env
โ”œโ”€โ”€ docker-compose.yml
โ”œโ”€โ”€ LICENSE
```

---

## ๐Ÿš€ Getting Started

**System Requirements**

* **Node.js**: `version 20.13.1`
* **Docker**: `version 24.0.2`

### โš™๏ธ Installation

From source

> 1. Clone the repository:
>
> ```console
> $ git clone https://github.com/diego64/nestjs-authorization
> ```
>
> 2. Change to the project directory:
> ```console
> $ nestjs-authorization
> ```
>
> 3. Install the dependencies:
> ```console
> $ npm install
> ```
> 4. Install the database:
> ```console
> $ docker compose up -d
> ```
> 5. Start the application:
> ```console
> $ npm run start:dev
> ```

### ๐Ÿงช Tests

> Run the test suite using the command below:
> ```console
> $ npm run test
> ```

---

## ๐Ÿ“„ License

This project is protected under the [SELECT-A-LICENSE](https://choosealicense.com/licenses) License. For more details, refer to the [LICENSE](https://choosealicense.com/licenses/) file.

---

## ๐Ÿ‘ Acknowledgments

- List any resources, contributors, inspiration, etc. here.

[**Return**](#-overview)

---