Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/diego64/nestjs-authorization
In development
https://github.com/diego64/nestjs-authorization
Last synced: 26 days ago
JSON representation
In development
- Host: GitHub
- URL: https://github.com/diego64/nestjs-authorization
- Owner: diego64
- License: mit
- Created: 2024-06-10T22:12:35.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-06-17T23:16:59.000Z (5 months ago)
- Last Synced: 2024-06-18T00:42:04.979Z (5 months ago)
- Language: TypeScript
- Size: 308 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[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.
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)
---