Homemate é uma aplicação desenvolvida para a disciplica de Projeto em Computação 1, da Universidade Federal de Campina Grande, UFCG.
Atualmente, dividir uma locação com outra pessoa já não é uma realidade apenas de estudantes, muitas pessoas optam por essa forma de viver por ser menos custosa, além de proporcionar o compartilhamento de experiências e aprendizado. Logo, cada vez mais pessoas se interessam em procurar por um(a) colega de apartamento, especialmente que seja compatível com seu modo de ser. Sabendo que essa busca não é trivial, o Homemate tem por objetivo facilitar esses encontros através da solução que faz uso de filtros e recomendações, explorando informações que vão ajudar os usuários a escolherem roomies que tenham afinidades semelhantes, aumentando as chances de uma boa convivência.
Clone do projeto
$ git clone https://github.com/thaynnara007/ClubeWinx_backend.git
Entre no diretório do projeto
$ cd ClubeWinx_backend
Em ambiente de desenvolvimento, criei o diretório de logs
$ mkdir logs
Em ambiente de desenvolvimento, criei o diretório do node_modules
$ mkdir node_modules
Em ambiente de desenvolvimento, instale as dependências de desenvolvimento
$ npm install --only=dev
Copie e renomei o arquivo .env-example
$ cp .env-example .env
Coloque os valores corretos nas variáveis de ambientes definidas no arquivo .env
Copie e renomei o arquivo firebase.example.json
$ cp firebase.example.json firebase.json
Coloque os valores das credenciais do firebase no arquivo
Criando as imagens
$ docker-compose build
Subindo os containers
$ docker-compose up
Execute as migrations, se houver
$ docker-compose run api npm run migrate
Execute as seeds, se houver
$ docker-compose run api npm run seed
Pronto, agora você poderá acessar:
* A aplicação na porta 3000
* A documentação em localhost:3000/doc
* O banco de dados na porta 5432
* PgAdmin na porta 5050
- A branch master é onde fica a versão estável da aplicação e tambem a versão do código que estará na nuvem. Apenas o código na develop, após testado, deve ser incorporado a essa branch.
- A branch develop é para onde as features desenvolvidades, após terem sido testadas unitariamente, devem ser subidas.
- Após a finalização de uma task, para a mesma deve ser criado um Pull Resquest para a develop.
- Um Pull Request só deve ser aceito depois de ter sido aprovado por pelo menos dois desenvolvedores, excluindo o autor do PR.
Listar containers em execução
$ docker ps
Listar todos os containers
$ docker ps -a
Para descer os containers em execução
$ docker-compose down
Para parar algum container
$ docker stop <nome_container>
Para remover algum container
$ docker rm <nome_conatiner>
Listar todas as imagens
$ docker images -a
Listar todos os volumes
$ docker volume ls
Para executar um serviço expecífico
$ docker-compose up <nome_do_serviço>
Para executar algum comando dentro do contexto de um serviço
$ docker-compose run <nome_do_serviço> <comando>
Apagar os volumes sem uso do docker
$ docker volume prune -f
Apagar as imagens sem uso do docker
$ docker system prune -a
Forçar a recriação de algum serviço
$ docker-compose up --build -V --force-recreate <nome_do_serviço>
Gerar/atualizar a documentação
$ npm run swagger-autogen
Roda as migrations
$ npm run migrate
Desfaz a última migration
$ npm run migrate:undo
Roda as seeds
$ npm run seed
Roda os testes
$ npm run test
- Swagger-autogen
- Sequelize
- Link do projeto no Dockerhub
IMPORTANTE: Nunca altere uma migration anterior a menos que você saiba exatamente o que você está fazendo.