Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/freirart/tuitui-backend
Backend do trabalho interdisciplinar do 6º semestre de Ciências da Computação na Universidade Católica de Santos
https://github.com/freirart/tuitui-backend
Last synced: about 1 month ago
JSON representation
Backend do trabalho interdisciplinar do 6º semestre de Ciências da Computação na Universidade Católica de Santos
- Host: GitHub
- URL: https://github.com/freirart/tuitui-backend
- Owner: freirart
- License: mit
- Created: 2022-10-25T23:54:21.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-01T23:57:44.000Z (over 1 year ago)
- Last Synced: 2023-06-02T01:15:37.259Z (over 1 year ago)
- Language: TypeScript
- Homepage: https://tuitui-backend.onrender.com
- Size: 517 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
REST API - Tuitui Backend
## Proposta
Este é o repositório do backend do projeto Tuitui, desenvolvido com Node.js, TypeScript e o framework Express.
O objetivo do projeto é fornecer uma API para que os usuários possam criar e visualizar artigos.
## Tecnologias
### Arquitetura da aplicação
* ExpressJS
* Mongoose
* MongoDB### Segurança
* JSON Web Token
* Bcrypt### Testes
* Jest
* Supertest
* Factory-girl
* FakerDeploy
## Modo de usar
A API é escrita em Node JS e, portanto, deve-se tê-lo instalado.
Utilize a versão do Node contida no package.json.
Caso tenha ao mudar a versão instalada recomenda-se a utilização do [nvm](https://github.com/nvm-sh/nvm).
Uma vez que o node/npm estejam instalados e na versão correta se faz necessário instalar as dependências do projeto. Para isso, basta executar o comando:
```sh
npm install
```Em seguida, é preciso criar um arquivo .env na raiz do projeto com pelo menos todas as de exemplo contidas no arquivo .env.test.
O ```DATABASE_URL``` deve conter a URL de conexão com o banco de dados, que pode ser local ou remoto. A ```SECRET``` é uma string usada para criptografar as senhas dos usuários.
#### Executando o projeto
Para executar o projeto, basta executar o comando:
```sh
npm run dev
```
Esse comando inicia o servidor localmente na porta **3000**.Caso deseje levantar um container com a aplicação do mongodb local basta rodar em uma outra instância do terminal a seguinte instrução:
```sh
npm run mongo
```Para acessar a interface que interage com o banco local basta acessar [esta](http://localhost:8081) rota!
### Consumindo Endpoints
O projeto oferece as seguintes rotas:
Um arquivo json para insominia pode ser baixado [clicando aqui](https://raw.githubusercontent.com/freirart/tuitui-backend/main/public/TUITUI_REQUESTS.json?raw=true).
- GET /articles - Retorna uma lista de artigos[*](/README.md#auth)
- POST /articles - Cria um novo artigo[*](/README.md#auth)
- DELETE /article - Exclui um artigo[*](/README.md#auth)
- PUT /article - Altera informações do artigo[*](/README.md#auth)
- GET /tags - Retorna tags[*](/README.md#auth)
- POST /tags - Cria novas tags[*](/README.md#auth)
- POST /users/signup - Cria um novo usuário
- POST /users/signin - Autentica um usuário
- GET /users - Retorna informções do usuário[*](/README.md#auth)
- DELETE /users - Exclui usuário[*](/README.md#auth)
- PUT /users - Altera algumas informações do usuário[*](/README.md#auth)
[*](/README.md#auth) Necessário autenticação.
### Testando a aplicação
### Contribuindo
Se você quiser contribuir com o projeto, fique à vontade para abrir uma pull request ou uma issue. Toda ajuda é bem-vinda!
## Licença MIT
Direitos Reservados 2023 Tuitui ProjectEste projeto é licenciado sob a licença MIT.