Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aleksanderpalamar/api-rbac
A API RBAC (Role-Based Access Control) é uma aplicação Node.js que fornece um serviço para gerenciar funções (roles) de usuários e suas permissões associadas. Ele usa um banco de dados NoSQL MongoDB para armazenar dados relacionados a usuários, funções e permissões.
https://github.com/aleksanderpalamar/api-rbac
express mongodb mongoose nodejs typescript
Last synced: 13 days ago
JSON representation
A API RBAC (Role-Based Access Control) é uma aplicação Node.js que fornece um serviço para gerenciar funções (roles) de usuários e suas permissões associadas. Ele usa um banco de dados NoSQL MongoDB para armazenar dados relacionados a usuários, funções e permissões.
- Host: GitHub
- URL: https://github.com/aleksanderpalamar/api-rbac
- Owner: aleksanderpalamar
- Created: 2024-02-26T18:08:08.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-02-28T19:25:56.000Z (12 months ago)
- Last Synced: 2024-05-01T19:49:12.266Z (10 months ago)
- Topics: express, mongodb, mongoose, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 64.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# API-RBAC - Role Based Access Control
A API RBAC (Role-Based Access Control) é uma aplicação Node.js que fornece um serviço para gerenciar funções (roles) de usuários e suas permissões associadas.
Ele usa um banco de dados NoSQL MongoDB para armazenar dados relacionados a usuários, funções e permissões.## Tecnologias Utilizadas
- Node.js
- Express.js
- MongoDB
- Mongoose
- TypeScript## Estrutura do Projeto
```
├── src
│ ├── controllers
│ │ ├── controllers.ts
│ ├── models
│ │ ├── models.ts
│ │ ├── user-model.ts
│ ├── routes
│ │ ├── routes.ts
│ ├── services
│ │ ├── service.ts
│ ├── utils
│ │ ├── validation.ts
│ ├── app.ts
├── package.json
├── tsconfig.json
├── docker-compose.yml
├── jest.config.js
├── .gitignore
├── README.md
```## Como Executar
```bash
# Clone o repositório
git clone https://github.com/aleksanderpalamar/api-rbac.git# Instale as dependências
npm install# Execute a aplicação
npm run dev
```## Endpoints da API
### Funções (Roles)- `POST /roles`: Criar uma nova função.
- `GET /roles`: Obter todas as funções.
- `GET /roles/:id`: Obter uma função específica pelo ID.
- `PUT /roles/:id`: Atualizar uma função específica pelo ID.
- `DELETE /roles/:id`: Excluir uma função específica pelo ID.
### Usuários (Users)
- `POST /users`: Criar um novo usuário.
- `GET /users`: Obter todos os usuários.
- `GET /users/:id`: Obter um usuário específico pelo ID.
- `PUT /users/:id`: Atualizar um usuário específico pelo ID.
- `DELETE /users/:id`: Excluir um usuário específico pelo ID.
## Modelo de Dados
### Funções (Roles)
```ts
interface Role {
name: string;
permissions: Permission[];
}
```### Usuários (Users)
```ts
interface User {
username: string;
email: string;
password: string;
roles: Role[];
}
```## Licença
MIT License ©