{"id":25564622,"url":"https://github.com/andersondev96/start-business-api","last_synced_at":"2026-02-19T19:03:04.938Z","repository":{"id":200372663,"uuid":"460478591","full_name":"andersondev96/start-business-api","owner":"andersondev96","description":"Trabalho desenvolvido para o projeto final do curso de Sistemas de Informação","archived":false,"fork":false,"pushed_at":"2026-02-01T21:10:21.000Z","size":14043,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-02T05:44:59.481Z","etag":null,"topics":["javascript","nodejs","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andersondev96.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-02-17T14:50:04.000Z","updated_at":"2026-02-01T21:10:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"f118b62a-6642-422a-b348-a06c17542a45","html_url":"https://github.com/andersondev96/start-business-api","commit_stats":null,"previous_names":["andersondev96/tcc-api","andersondev96/start-business-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/andersondev96/start-business-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersondev96%2Fstart-business-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersondev96%2Fstart-business-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersondev96%2Fstart-business-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersondev96%2Fstart-business-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andersondev96","download_url":"https://codeload.github.com/andersondev96/start-business-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andersondev96%2Fstart-business-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29627703,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T18:02:07.722Z","status":"ssl_error","status_checked_at":"2026-02-19T18:01:46.144Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","nodejs","typescript"],"created_at":"2025-02-20T21:58:29.398Z","updated_at":"2026-02-19T19:03:04.930Z","avatar_url":"https://github.com/andersondev96.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Trabalho de Conclusão de Curso (TCC)\n\nProjeto desenvolvido como parte do Trabalho de Conclusão de Curso (TCC) do curso de Sistemas de Informação - UFOP.\n\n![License shields](https://img.shields.io/github/license/andersondev96/start-business-api?style=for-the-badge\u0026color=green)\n![Last commit shields](https://img.shields.io/github/last-commit/andersondev96/start-business-api?style=for-the-badge\u0026color=green)\n\n## 📌 **Índice**\n\n- [📄  Sobre o Projeto](#-sobre-o-projeto)\n- [🚀 Tecnologias Utilizadas](#-tecnologias-utilizadas)\n- [🔧 Requisitos do software](#-requisitos-do-software)\n- [📂 Banco de Dados](#-banco-de-dados)\n- [⚙ Como Executar a Aplicação](#-como-executar-a-aplicação)\n- [🌍 Deploy da Aplicação](#-deploy-da-aplicação)\n- [🤝 Como Contribuir](#-como-contribuir)\n- [📝 Licença](#-licença)\n- [👥 Autor](#-autor)\n\n---\n\n## 📄 Sobre o Projeto\n\nO 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.\n\n\u003e ### ⚠️ **Status do Projeto:**\n\u003e Em manutenção - Alguns recursos podem não estar funcionando corretamente.\n\n---\n\n## 🚀 Tecnologias Utilizadas\n\nO servidor foi desenvolvido em **TypeScript**, utilizando **Node.js**, **PostgreSQL**, **Redis** e diversas bibliotecas para garantir eficiência e segurança.\n\n[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)](https://www.typescriptlang.org/)\n[![Node.js](https://img.shields.io/badge/Node.js-43853D?style=for-the-badge\u0026logo=node.js\u0026logoColor=white)](https://nodejs.org/en)\n[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192?style=for-the-badge\u0026logo=postgresql\u0026logoColor=white)](https://www.postgresql.org/)\n[![Redis](https://img.shields.io/badge/Redis-D9281A?style=for-the-badge\u0026logo=redis\u0026logoColor=white)](https://redis.io/)\n[![Docker](https://img.shields.io/badge/Docker-2496ED?style=for-the-badge\u0026logo=docker\u0026logoColor=white)](https://www.docker.com/)\n[![Express.js](https://img.shields.io/badge/express.js-%23404d59.svg?style=for-the-badge\u0026logo=express\u0026logoColor=%2361DAFB)](https://expressjs.com/pt-br/)\n[![Prisma](https://img.shields.io/badge/Prisma-3982CE?style=for-the-badge\u0026logo=Prisma\u0026logoColor=white)](https://www.prisma.io/)\n[![Jest](https://img.shields.io/badge/-jest-%23C21325?style=for-the-badge\u0026logo=jest\u0026logoColor=white)](https://jestjs.io/pt-BR/)\n\n---\n\n## 🔧 Requisitos do software\n\n### Usuários\n- [x] Autenticação\n- [x] Cadastro e edição de usuários\n- [x] Recuperação de senha\n- [x] Exclusão de conta\n\n### MEIs\n- [x] Cadastro e edição\n- [x] Listagem e avaliação\n- [x] Adição de imagens\n- [x] Favoritar MEIs\n\n### Serviços\n- [x] Gerenciamento completo de serviços (criar, editar, listar, excluir, avaliar, favoritar)\n- [x] Filtro de serviços\n- [x] Upload de serviços via arquivo `.xlsx`\n\n### Orçamentos\n- [x] Solicitação e gerenciamento de orçamentos\n- [x] Edição e envio de orçamentos\n- [x] Aceitação ou recusa de propostas\n\n### Chat\n- [x] Acesso e envio de mensagens para empreendedores\n\n### Configurações\n- [x] Atualização de preferências\n- [x] Remoção de conta\n\n---\n\n## 📂 Banco de Dados\n\nO banco de dados utilizado é o **PostgreSQL**. Abaixo está o diagrama ER:\n\n\u003cimg src=\"tcc-api - public.png\"\u003e\n\n---\n\n## ⚙ Como Executar a Aplicação\n\n### **Pré-requisitos**\nAntes de iniciar, certifique-se de ter:\n- [Node.js (versão LTS recomendada)](https://nodejs.org/en/)\n- NPM ou PNPM\n- [Docker](https://www.docker.com/)\n\n### **Passos para Execução**\n\n1. Clone o repositório:\n    ```sh\n    git clone https://github.com/andersondev96/start-business-api\n    ```\n2. Acesse a pasta do projeto:\n    ```sh\n    cd start-business-api\n    ```\n3. Instale as dependências:\n    ```sh\n    npm install # ou pnpm install\n    ```\n4. Configure as variáveis de ambiente no arquivo `.env`\n5. Execute as migrations do Prisma:\n    ```sh\n    npx prisma migrate dev\n    ```\n6. Inicie a aplicação:\n    ```sh\n    npm run dev # ou pnpm run dev\n    ```\n7. A API estará disponível em: [http://localhost:3333](http://localhost:3333).\n\nAs **collections** para testes estão disponíveis no arquivo `insomnia-All_2023-10-15.json`.\n\n---\n\n## 🧪 Testes\nPara rodar os testes automatizados:\n```\nnpm run test\n```\n**Tecnologias utilizadas para os testes:** Jest.\n\n---\n\n## 🌍 Deploy da Aplicação\n\nO deploy foi realizado na **AWS EC2** com as seguintes configurações:\n- Servidor: **Ubuntu**\n- Proxy Reverso: **Nginx**\n- Gerenciamento de processos: **PM2**\n- Certificado de segurança SSL: **Certbot**\n- Armazenamento de Dados: **PostgreSQL \u0026 Redis**\n\nPara acessar a API utilize o endereço [https://api-start-business.andersondev.tech/](https://api-start-business.andersondev.tech/).\n\nVocê poderá realizar requisições HTTP, utilizando softwares como o [Insomnia](https://insomnia.rest/) ou [Postman](https://www.postman.com/).\n\n---\n\n## 🤝 Como Contribuir\n\n1. Fork este repositório\n2. Crie uma branch para sua funcionalidade:\n    ```sh\n    git checkout -b minha-feature\n    ```\n3. Realize suas alterações e comite:\n    ```sh\n    git commit -m \"feature: Minha nova funcionalidade\"\n    ```\n4. Envie para o repositório remoto:\n    ```sh\n    git push origin minha-feature\n    ```\n5. Abra um **Pull Request**!\n\n---\n\n## 📝 Licença\n\nEste projeto está sob a licença [LICENSE](LICENSE).\n\n---\n\n## 👥 Autor\n\n\u003cdiv style=\"display:flex; flex-direction:column; align-items: center;\"\u003e\n\n\u003ca href=\"https://www.linkedin.com/in/anderson-fernandes96/\"\u003e\n\u003cimg src=\"https://avatars.githubusercontent.com/u/49786548?v=4\" width=\"64\" style=\"border: 2px solid blue; border-radius: 50px\" /\u003e\n\u003c/a\u003e\n\n**Anderson Fernandes Ferreira**\n\n[![Instagram](https://img.shields.io/badge/-Instagram-%23E4405F?style=for-the-badge\u0026logo=instagram\u0026logoColor=white)](https://instagram.com/anderson_ff13)\n[![Gmail](https://img.shields.io/badge/-Gmail-%23333?style=for-the-badge\u0026logo=gmail\u0026logoColor=white)](mailto:andersonfferreira96@gmail.com.br)\n[![LinkedIn](https://img.shields.io/badge/-LinkedIn-%230077B5?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](https://www.linkedin.com/in/anderson-fernandes96/)\n\n---\n\nFeito com 💚 por **Anderson Fernandes** 👋 \n[Entre em conanto](https://www.linkedin.com/in/anderson-fernandes96/)\n\n\u003c/div\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandersondev96%2Fstart-business-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandersondev96%2Fstart-business-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandersondev96%2Fstart-business-api/lists"}