- Sobre
- Configurando a aplicação
- Rodando a aplicação com Docker
- Documentação da API
- Outros repositórios
- Colaboradores
Projeto desenvolvido para as disciplinas de DSW e PDM
Idosos muitas vezes enfrentam desafios em sua vida diária e podem precisar de ajuda em situações de emergência.
Solução Proposta: Um aplicativo web que oferece recursos de assistência, como alertas de medicamentos, rastreamento de saúde e botões de emergência para idosos. Ele também pode permitir que familiares e cuidadores monitorem o bem-estar dos idosos remotamente.
$ npm -g i yarn
Rode o seguinte comando para instalar as dependências do projeto:
$ npm install
# ou
$ yarn install
Para ter o acesso ao banco de dados é necessário uma string de conexão, essa string de conexão deve estar em um arquivo .env
... Para isso basta cria-lo utilizando como base o arquivo .env.example
, substituindo somente o conteúdo da variável.
Para rodar a aplicação é necessário gerar as tabelas no banco de dados, para isso o Prisma está sendo utilizado.
A string de conexão deve estar no arquivo .env
O banco utilizado deve ser o mongodb
Os comandos necessários são:
$ yarn prisma generate
$ yarn prisma db push
# ou
$ npx prisma generate
$ npx prisma db push
Após realizar todas as etapas acima, já podemos iniciar a aplicação com o seguinte comando:
$ yarn run start
Após a aplicação terminar de subir, já vai ser possível realizar requisições através de algum API Client através da URL: http://localhost:5000.
Para rodar a aplicação em Docker irá ser utilizado o docker compose juntamente com o Dockerfile que está nesse repositório e nos outros componentes que complementam a aplicação.
A seguir vamos ter dois arquivos composes, um deles é o docker-compose-app.yml e o docker-compose-db.yml, sendo o *-app para a aplicação junto com os componentes e o *-db para o banco de dados.
version: '3.7'
services:
med-senior-api:
container_name: med-senior-api-container
restart: always
build:
context: ./med-senior-api
dockerfile: ./Dockerfile
environment:
- DATABASE_URL=mongodb://172.18.0.1:27017/admin
- IP_ADDRESS=172.18.0.1
expose:
- '5000'
ports:
- '5000:5000'
networks:
- clusterGeral
med-senior-front:
container_name: med-senior-front-container
restart: always
build:
context: ./med-senior-front
dockerfile: ./Dockerfile
expose:
- '3000'
ports:
- '3000:3000'
networks:
- clusterGeral
med-senior-auth:
container_name: med-senior-auth-container
restart: always
build:
context: ./med-senior-auth
dockerfile: ./Dockerfile
environment:
- DATABASE_URL=mongodb://172.18.0.1:27017/admin
- SECRET=mySecret_medSeniorAuth
expose:
- '5001'
ports:
- '5001:5001'
networks:
- clusterGeral
networks:
clusterGeral:
version: '3.7'
services:
mongo1:
image: mongo:5
container_name: mongo1-container
restart: always
expose:
- '27017'
ports:
- '27017:27017'
command: mongod --replSet myReplicaSet --bind_ip localhost,mongo1
networks:
- clusterGeral
mongo2:
image: mongo:5
container_name: mongo2-container
restart: always
expose:
- '27017'
ports:
- '27018:27017'
command: mongod --replSet myReplicaSet --bind_ip localhost,mongo2
networks:
- clusterGeral
mongo3:
image: mongo:5
container_name: mongo3-container
restart: always
expose:
- '27017'
ports:
- '27019:27017'
command: mongod --replSet myReplicaSet --bind_ip localhost,mongo3
networks:
- clusterGeral
mongo-ui:
image: mongo-express
container_name: mongo-ui
restart: always
expose:
- '8081'
ports:
- '8081:8081'
environment:
ME_CONFIG_MONGODB_URL: mongodb://172.18.0.1:27017
networks:
- clusterGeral
networks:
clusterGeral:
Para iniciar a aplicação primeiro é necessário salvar os arquivo .yml acima na pasta onde todos os projetos vão estar, após salvar os arquivos devem ser necessários os seguintes comandos:
$ docker compose -f docker-compose-db.yml -f docker-compose-app.yml up -d
$ docker exec -it mongo1-container mongosh --eval "rs.initiate({
_id: \"myReplicaSet\",
members: [
{_id: 0, host: \"mongo1\"},
{_id: 1, host: \"mongo2\"},
{_id: 2, host: \"mongo3\"}
]
})"
$ docker exec -it med-senior-api-container npx prisma db push
A API também possui um Swagger (documentação), onde é possível verificar os possíveis retornos e parâmetros necessários para fazer uma requisição bem sucedida.
Para possuir acesso a documentação é necessário que a API esteja em pleno funcionamento, você pode visualiza-lá na seguinte URL: http://localhost:5000/api.
Para obter o yaml do swagger, utilize a URL: http://localhost:5000/api-yaml.
-
Módulo de autenticação: Med Senior - Auth
-
Front End (desenvolvido em Vue): Med Senior - Front
-
Mobile (desenvolvido em Flutter): Med Senior - Mobile