Projeto desenvolvido para o trabalho de conclusão de curso (TCC) de Sistemas de Informação - UFOP.
Índice
- Sobre o projeto
- Tecnologias utilizadas
- Requisitos
- Banco de dados
- Como executar a aplicação
- Deploy da aplicação
- Como contribuir
- Licença
- Autor
O projeto desenvolvido tem o objetivo de auxiliar os microempreendedores individuais (MEIs), por meio de um sistema que permite divulgar os seu negócio e serviços, aproximando do seu público-alvo e aumentando o seu alcance.
Para a implementação do servidor, foi utilizada como linguagem de programação o TypeScript, com os bancos de dados Postgres e Redis e a biblioteca do Node.js.
- Autenticar usuário
- Cadastrar usuário
- Recuperar senha
- Criar refresh token
- Editar usuário
- Excluir usuário
- Cadastrar MEIs
- Editar MEIs
- Listar MEIs
- Favoritar MEIs
- Avaliar MEIs
- Excluir MEIs
- Adicionar imagens de MEIs
- Adicionar serviços
- Editar serviços
- Listar serviços
- Filtrar serviços
- Favoritar serviços
- Avaliar serviços
- Excluir serviços
- Adicionar imagens de serviços
- Fazer upload de uma lista de serviços através de um arquivo .xlsx
- Criar uma solicitação de orçamento para o empreendedor
- Listar orçamentos do cliente
- Listar propostas de orçamentos do empreendedor
- Criar orçamento para o cliente
- Pesquisar por orçamentos
- Editar orçamentos
- Enviar orçamentos
- Aceitar ou recusar orçamentos
- Acessar chat
- Iniciar conversa
- Enviar mensagens para o empreendedor
- Listar clientes
- Pesquisar clientes
- Atualizar configurações
- Remover conta
O banco de dados principal foi o potgreSQL, abaixo é exibido o diagrama ER com as tabelas e relacionamentos.
Antes de executar a aplicação certifique que você tenha instalada uma versão LTS do Node, npm e docker.
Para executar a aplicação deve seguir os seguintes passos:
- Clone o repositório:
https://github.com/andersondev96/tcc-api
- Abra o terminal e acesse a pasta
tcc-api
com o comando:cd tcc-api
- Instale as dependências do projeto:
npm install
ouyarn install
- Configure as variáveis ambiente:
APP_ENV="local" # APP URLS LOCAL APP_API_URL="http://localhost:3333" APP_WEB_URL="http://localhost:3000" # DATABASE DATABASE_URL="postgresql://database:password@localhost:5432/tcc-api?schema=public" APP_SECRET_TOKEN=your-secret-token APP_SECRET_REFRESH_TOKEN=your-secret-refresh-token # GOOGLE MAPS API GOOGLE_MAPS_API_KEY=your-google-maps-api-key ## Storage disk=local ## Email MAIL_PROVIDER=s3 #Redis REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=your-redis-password
- Execute as migrations do prisma:
npx prisma migrate dev
-
Com tudo configurado você poderá acessar a aplicação com o comando
npm run dev
- A aplicação será executada na porta
3333
do servidor. Para acessar as rotas você precisar de um software para realizar requisições HTTP, como o Postman ou Insomnia. Nele você poderá acessar as rotas, com a seguinte URL:
As collections estão disponíveis no link abaixo:
O deploy da aplicação foi feito utilizando a plataforma AWS da Amazon, utilizando o EC2.
Para o deploy foi criada uma máquina virtual do ubuntu e configurada as chaves de SSH.
Além disso foi utilizado o Proxy Reverso, com o nginx e o PM2 para gerenciar os processos do Node.
-
Faça um fork do repositório.
Crie uma nova branch com as suas alterações:
git checkout -b my-feature
- Salve as suas alterações e crie uma mensagem de commit, dizendo o que você fez:
git commit -m "feature: My new feature"
-
Envie as suas alterações:
git push origin my-feature
Este projeto está sobre a licença MIT.
Feito com 💚 por Anderson Fernandes 👋
Entre em contato!