O projeto foi desenvolvido durante um Trabalho de Conclusão de Curso do curso de Sistemas de Informação da UNIFESSPA.
O KeeMe é uma aplicação de gerenciamento das Atividades Curriculares Complementares dos discentes da Faculdade de Computação e Engenharia Elétrica da UNIFESSPA, criado com o foco em tornar simples e transparente o processo de avaliação.
O projeto está dividido em duas partes:
- Node.js
- Typescript
- Express
- TypeORM
- Min.io
Primeiro faça a clonagem do projeto em algum diretório do seu computador:
> cd "algum/diretorio/qualquer"
> git clone https://github.com/gustavocrvls/keeme-backend.git
Depois disso instale as dependências:
> yarn
Após isso crie um arquivo .env na raiz do projeto, preenchendo os campos que estão em .env.example:
API_PORT= # Porta em que a API será executada, não precisa ser declarada em ambiente de produção
JWT_SECRET= # Palavra chave para autenticação do JWT
DB_HOST= # Endereço do servidor do banco de dados
DB_PORT= # Porta do servidor do banco de dados
DB_USERNAME= # Usuário do servidor do banco de dados
DB_PASSWORD= # Senha do servidor do banco de dados
DB_DATABASE= # Nome do banco de dados
STORAGE_ENDPOINT= # Endereço do servidor de arquivos
STORAGE_PORT= # Porta do servidor de arquivos
STORAGE_ACCESS_KEY_ID= # Usuário do servidor de arquivos
STORAGE_SECRET_ACCESS_KEY= # Senha do servidor de arquivos
STORAGE_BUCKET_NAME # Bucket onde os arquivos do KeeMe serão salvos
Você vai precisar iniciar o banco de dados, usando o TypeORM.
⚠ Por padrão na criação do banco é criado um usuário do tipo Administrador, com a senha padrão "password", para mudar isso execute:
NODE_ENV=development ADMIN_PASSWORD="nova_senha" yarn typeorm migration:run
Caso você não precise de uma senha forte (como em um ambiente de testes), ou caso você precise rodar outras migrations, basta executar:
NODE_ENV=development yarn typeorm migration:run
A última configuração necessária é iniciar o docker para o servidor local de arquivos:
yarn dc:up
E então é só iniciar o projeto:
> yarn dev
O projeto vai iniciar em http://localhost na porta em que foi definida no .env.
Você também pode acessar a documentação das rotas da API em: https://app.swaggerhub.com/apis-docs/gustavocrvls/KeeMe/1.0.0
O projeto foi criado usando as seguintes bibliotecas de padronização de código:
- ESLint
- Prettier
- EditorConfig
Por isso, deve ser usado o VSCode e instaladas as seguintes bibliotecas para não bagunçar o código 😆:
- EditorConfig for VS Code
- ESLint
Isso é uma forma de manter o código minimamente organizado, e padronizado.
E isso é tudo por enquanto 😁