https://github.com/andersondev96/start-business-api
Trabalho desenvolvido para o projeto final do curso de Sistemas de Informação
https://github.com/andersondev96/start-business-api
javascript nodejs typescript
Last synced: 4 months ago
JSON representation
Trabalho desenvolvido para o projeto final do curso de Sistemas de Informação
- Host: GitHub
- URL: https://github.com/andersondev96/start-business-api
- Owner: andersondev96
- License: mit
- Created: 2022-02-17T14:50:04.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2026-02-01T21:10:21.000Z (5 months ago)
- Last Synced: 2026-02-02T05:44:59.481Z (5 months ago)
- Topics: javascript, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 13.4 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Trabalho de Conclusão de Curso (TCC)
Projeto desenvolvido como parte do Trabalho de Conclusão de Curso (TCC) do curso de Sistemas de Informação - UFOP.


## 📌 **Índice**
- [📄 Sobre o Projeto](#-sobre-o-projeto)
- [🚀 Tecnologias Utilizadas](#-tecnologias-utilizadas)
- [🔧 Requisitos do software](#-requisitos-do-software)
- [📂 Banco de Dados](#-banco-de-dados)
- [⚙ Como Executar a Aplicação](#-como-executar-a-aplicação)
- [🌍 Deploy da Aplicação](#-deploy-da-aplicação)
- [🤝 Como Contribuir](#-como-contribuir)
- [📝 Licença](#-licença)
- [👥 Autor](#-autor)
---
## 📄 Sobre o Projeto
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.
> ### ⚠️ **Status do Projeto:**
> Em manutenção - Alguns recursos podem não estar funcionando corretamente.
---
## 🚀 Tecnologias Utilizadas
O servidor foi desenvolvido em **TypeScript**, utilizando **Node.js**, **PostgreSQL**, **Redis** e diversas bibliotecas para garantir eficiência e segurança.
[](https://www.typescriptlang.org/)
[](https://nodejs.org/en)
[](https://www.postgresql.org/)
[](https://redis.io/)
[](https://www.docker.com/)
[](https://expressjs.com/pt-br/)
[](https://www.prisma.io/)
[](https://jestjs.io/pt-BR/)
---
## 🔧 Requisitos do software
### Usuários
- [x] Autenticação
- [x] Cadastro e edição de usuários
- [x] Recuperação de senha
- [x] Exclusão de conta
### MEIs
- [x] Cadastro e edição
- [x] Listagem e avaliação
- [x] Adição de imagens
- [x] Favoritar MEIs
### Serviços
- [x] Gerenciamento completo de serviços (criar, editar, listar, excluir, avaliar, favoritar)
- [x] Filtro de serviços
- [x] Upload de serviços via arquivo `.xlsx`
### Orçamentos
- [x] Solicitação e gerenciamento de orçamentos
- [x] Edição e envio de orçamentos
- [x] Aceitação ou recusa de propostas
### Chat
- [x] Acesso e envio de mensagens para empreendedores
### Configurações
- [x] Atualização de preferências
- [x] Remoção de conta
---
## 📂 Banco de Dados
O banco de dados utilizado é o **PostgreSQL**. Abaixo está o diagrama ER:

---
## ⚙ Como Executar a Aplicação
### **Pré-requisitos**
Antes de iniciar, certifique-se de ter:
- [Node.js (versão LTS recomendada)](https://nodejs.org/en/)
- NPM ou PNPM
- [Docker](https://www.docker.com/)
### **Passos para Execução**
1. Clone o repositório:
```sh
git clone https://github.com/andersondev96/start-business-api
```
2. Acesse a pasta do projeto:
```sh
cd start-business-api
```
3. Instale as dependências:
```sh
npm install # ou pnpm install
```
4. Configure as variáveis de ambiente no arquivo `.env`
5. Execute as migrations do Prisma:
```sh
npx prisma migrate dev
```
6. Inicie a aplicação:
```sh
npm run dev # ou pnpm run dev
```
7. A API estará disponível em: [http://localhost:3333](http://localhost:3333).
As **collections** para testes estão disponíveis no arquivo `insomnia-All_2023-10-15.json`.
---
## 🧪 Testes
Para rodar os testes automatizados:
```
npm run test
```
**Tecnologias utilizadas para os testes:** Jest.
---
## 🌍 Deploy da Aplicação
O deploy foi realizado na **AWS EC2** com as seguintes configurações:
- Servidor: **Ubuntu**
- Proxy Reverso: **Nginx**
- Gerenciamento de processos: **PM2**
- Certificado de segurança SSL: **Certbot**
- Armazenamento de Dados: **PostgreSQL & Redis**
Para acessar a API utilize o endereço [https://api-start-business.andersondev.tech/](https://api-start-business.andersondev.tech/).
Você poderá realizar requisições HTTP, utilizando softwares como o [Insomnia](https://insomnia.rest/) ou [Postman](https://www.postman.com/).
---
## 🤝 Como Contribuir
1. Fork este repositório
2. Crie uma branch para sua funcionalidade:
```sh
git checkout -b minha-feature
```
3. Realize suas alterações e comite:
```sh
git commit -m "feature: Minha nova funcionalidade"
```
4. Envie para o repositório remoto:
```sh
git push origin minha-feature
```
5. Abra um **Pull Request**!
---
## 📝 Licença
Este projeto está sob a licença [LICENSE](LICENSE).
---
## 👥 Autor
**Anderson Fernandes Ferreira**
[](https://instagram.com/anderson_ff13)
[](mailto:andersonfferreira96@gmail.com.br)
[](https://www.linkedin.com/in/anderson-fernandes96/)
---
Feito com 💚 por **Anderson Fernandes** 👋
[Entre em conanto](https://www.linkedin.com/in/anderson-fernandes96/)