Projeto desenvolvido como parte do Trabalho de Conclusão de Curso (TCC) do curso de Sistemas de Informação - UFOP.
- Sobre o Projeto
- Tecnologias Utilizadas
- Requisitos
- Banco de Dados
- Como Executar a Aplicação
- Deploy da Aplicação
- Como Contribuir
- Licença
- Autor
Alguns recursos podem não estar funcionando corretamente.
O projeto tem como objetivo auxiliar microempreendedores individuais (MEIs) por meio de um sistema que permite a divulgação de seus negócios e serviços, aproximando-os do público-alvo e ampliando seu alcance.
O servidor foi desenvolvido em TypeScript, utilizando Node.js, PostgreSQL, Redis e diversas bibliotecas para garantir eficiência e segurança.
- Autenticação
- Cadastro e edição de usuários
- Recuperação de senha
- Exclusão de conta
- Cadastro e edição
- Listagem e avaliação
- Adição de imagens
- Favoritar MEIs
- Gerenciamento completo de serviços (criar, editar, listar, excluir, avaliar, favoritar)
- Filtro de serviços
- Upload de serviços via arquivo
.xlsx
- Solicitação e gerenciamento de orçamentos
- Edição e envio de orçamentos
- Aceitação ou recusa de propostas
- Acesso e envio de mensagens para empreendedores
- Atualização de preferências
- Remoção de conta
O banco de dados utilizado é o PostgreSQL. Abaixo está o diagrama ER:
Antes de iniciar, certifique-se de ter:
- Node.js (versão LTS)
- npm ou pnpm
- Docker
- Clone o repositório:
git clone https://github.com/andersondev96/start-business-api
- Acesse a pasta do projeto:
cd start-business-api
- Instale as dependências:
npm install # ou pnpm install
- Configure as variáveis de ambiente no arquivo
.env
- Execute as migrations do Prisma:
npx prisma migrate dev
- Inicie a aplicação:
npm run dev # ou pnpm run dev
- A API estará disponível em: http://localhost:3333.
As collections para testes estão disponíveis no arquivo insomnia-All_2023-10-15.json
.
O deploy foi realizado na AWS EC2 utilizando:
- Ubuntu para configuração do servidor
- Proxy Reverso (Nginx)
- Gerenciador de processos (PM2) para manter a aplicação ativa
- Fork este repositório
- Crie uma branch para sua funcionalidade:
git checkout -b minha-feature
- Realize suas alterações e comite:
git commit -m "feature: Minha nova funcionalidade"
- Envie para o repositório remoto:
git push origin minha-feature
- Abra um Pull Request!
Este projeto está sob a licença LICENSE.