Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/vilhalva/api-restful-com-adonisjs

šŸ‘Øā€šŸ«PROJETO CRIADO PARA O CURSO DE ADONISJS.
https://github.com/vilhalva/api-restful-com-adonisjs

adonisjs api-rest crud curse database framework javascript nodejs projeto site sqlite

Last synced: 27 days ago
JSON representation

šŸ‘Øā€šŸ«PROJETO CRIADO PARA O CURSO DE ADONISJS.

Awesome Lists containing this project

README

        

# API RESTFUL COM ADONISJS
šŸ‘Øā€šŸ«PROJETO CRIADO PARA O CURSO DE ADONISJS.












## DESCRIƇƃO:
Este projeto Ć© uma API RESTful criada com AdonisJS para gerenciamento de usuĆ”rios, projetos e tarefas. A API permite o registro e login de usuĆ”rios, bem como a criaĆ§Ć£o, leitura, atualizaĆ§Ć£o e exclusĆ£o de projetos e tarefas associadas. A autenticaĆ§Ć£o Ć© feita utilizando JWT (JSON Web Token) para proteger as rotas.

## FUNCIONALIDADES:
1. **Registro de UsuƔrios**
- Rota: `POST /api/v1/usuarios/registro`
- DescriĆ§Ć£o: Permite a criaĆ§Ć£o de novos usuĆ”rios no sistema.

2. **Login de UsuƔrios**
- Rota: `POST /api/v1/usuarios/login`
- DescriĆ§Ć£o: Permite aos usuĆ”rios existentes fazer login e obter um token JWT.

3. **Gerenciamento de Projetos**
- Rota: `GET /api/v1/proyectos`
- DescriĆ§Ć£o: Retorna a lista de todos os projetos do usuĆ”rio autenticado.
- Middleware: `auth`
- Rota: `POST /api/v1/proyectos`
- DescriĆ§Ć£o: Cria um novo projeto.
- Middleware: `auth`
- Rota: `PATCH /api/v1/proyectos/:id`
- DescriĆ§Ć£o: Atualiza um projeto existente.
- Middleware: `auth`
- Rota: `DELETE /api/v1/proyectos/:id`
- DescriĆ§Ć£o: Exclui um projeto existente.
- Middleware: `auth`

4. **Gerenciamento de Tarefas**
- Rota: `GET /api/v1/proyectos/:id/tareas`
- DescriĆ§Ć£o: Retorna a lista de todas as tarefas associadas a um projeto especĆ­fico.
- Middleware: `auth`
- Rota: `POST /api/v1/proyectos/:id/tareas`
- DescriĆ§Ć£o: Cria uma nova tarefa para um projeto especĆ­fico.
- Middleware: `auth`
- Rota: `PATCH /api/v1/tareas/:id`
- DescriĆ§Ć£o: Atualiza uma tarefa existente.
- Middleware: `auth`
- Rota: `DELETE /api/v1/tareas/:id`
- DescriĆ§Ć£o: Exclui uma tarefa existente.
- Middleware: `auth`

## EXECUTANDO O PROJETO:
1. **Instalando as DependĆŖncias:**
- Para instalar as dependĆŖncias listadas no arquivo "package.json", vocĆŖ pode usar o comando `npm install` no terminal. Certifique-se de estar no diretĆ³rio `CODIGO` e execute o seguinte comando:
```bash
npm install
```

2. **Configure as VariƔveis de Ambiente**
- Crie um arquivo `.env` na raiz do projeto e adicione as seguintes configuraƧƵes:
```env
HOST=127.0.0.1
PORT=3333
NODE_ENV=development

APP_NAME=AdonisJs
APP_URL=http://${HOST}:${PORT}

CACHE_VIEWS=false

APP_KEY=uma_chave_unica_gerada

DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=root
DB_PASSWORD=
DB_DATABASE=adonis

HASH_DRIVER=bcrypt
```

3. **Gere uma APP_KEY**
```bash
adonis key:generate
```

4. **Execute as MigraƧƵes**
```bash
adonis migration:run
```

6. **Inicie o Servidor:**
- Execute o seguinte comando no Terminal:
```bash
npm start
```

## EXEMPLOS DE REQUISIƇƕES:
- **Registro de UsuƔrio**
```bash
curl -X POST http://127.0.0.1:3333/api/v1/usuarios/registro -H "Content-Type: application/json" -d '{"username": "testuser", "email": "[email protected]", "password": "secret"}'
```

- **Login de UsuƔrio**
```bash
curl -X POST http://127.0.0.1:3333/api/v1/usuarios/login -H "Content-Type: application/json" -d '{"email": "[email protected]", "password": "secret"}'
```

- **Listar Projetos**
```bash
curl -X GET http://127.0.0.1:3333/api/v1/proyectos -H "Authorization: Bearer "
```

- **Criar Projeto**
```bash
curl -X POST http://127.0.0.1:3333/api/v1/proyectos -H "Authorization: Bearer " -H "Content-Type: application/json" -d '{"name": "Novo Projeto"}'
```

## NƃO SABE?
- Entendemos que para manipular arquivos em `HTML`, `CSS` e outras linguagens relacionadas, Ʃ necessƔrio possuir conhecimento nessas Ɣreas. Para auxiliar nesse aprendizado, oferecemos cursos gratuitos disponƭveis:
* [CURSO DE JAVASCRIPT](https://github.com/VILHALVA/CURSO-DE-JAVASCRIPT)
* [CURSO DE NODEJS](https://github.com/VILHALVA/CURSO-DE-NODEJS)
* [CURSO DE SQLITE](https://github.com/VILHALVA/CURSO-DE-SQLITE)
* [CONFIRA MAIS CURSOS](https://github.com/VILHALVA?tab=repositories&q=+topic:CURSO)

## CREDITOS:
- [PROJETO FEITO PELO VILHALVA](https://github.com/VILHALVA)
- [PROJETO CRIADO PARA O CURSO DE ADONISJS](https://github.com/VILHALVA/CURSO-DE-ADONISJS)