API-CubosFi é uma REST API desenvolvida para a aplicação frontend CubosFi, nessa api você pode cadastrar os clientes e as suas cobranças.
Documentação utiliza a especificação OpenAPI (anteriormente Swagger Specification) para descrever os endpoints disponíveis e as operações em cada um deles. A especificação da API foi escrita em JSON e pode ser encontrado no arquivo swagger.json na raiz do repositório.
A duas formas de acessar a documentação:
Pela rota /api-docs
disponibilizada pela própria api que utilizar Swagger UI para renderiza definições de OpenAPI como documentação interativa.
A outra forma é pelo serviço da bump.sh que gera a documentação apartir das especificações OpenAPI, para acessar clique aqui.
Para rodar esse projeto, você vai precisar adicionar as seguintes variáveis de ambiente no seu .env
PORT
DB_HOST
DB_USER
DB_PASSWORD
DB_NAME
DB_PORT
DB_CLIENT
SECRET_TOKEN
# Tempo em segundos ou uma string descrevendo um intervalo de tempo ex: 10m
EXPIRES_IN_TOKEN
SECRET_REFRESH_TOKEN
# Tempo em segundos ou uma string descrevendo um intervalo de tempo ex: 5d
EXPIRES_IN_REFRESH_TOKEN
# Número de dias para expirar o token ex: 10
EXPIRES_REFRESH_TOKEN_DAYS
# O salto a ser usado na criptografia ex: 10
SALT_ROUNDS
Clone o projeto
git clone https://github.com/jonathan-lopes/api-cubosfi.git
Entre no diretório do projeto
cd api-cubosfi
Instale as dependências
npm i ou npm install
Crie um arquivo .env.dev e adicione as variáveis como na seção Variáveis de Ambiente
Inicie o servidor
npm run dev
Primeiro crie um arquivo .env.test adicione as seguintes variáveis de ambiente
PORT
DB_CLIENT=better-sqlite3
SECRET_TOKEN
EXPIRES_IN_TOKEN
SECRET_REFRESH_TOKEN
EXPIRES_IN_REFRESH_TOKEN
EXPIRES_REFRESH_TOKEN_DAYS
SALT_ROUNDS
Rode o seguinte comando
npm t ou npm test
Usamos Versionamento Semântico para versionamento. Para as versões disponível, veja as tags neste repositório.