O TechHub App é uma aplicação web que permite a gestão de projetos, incluindo a adição, edição, remoção e listagem de itens armazenados em um banco de dados MongoDB. A aplicação inclui uma API RESTful para realizar operações CRUD e um frontend construído em Angular.
- CRUD de itens:
- Listagem de itens com suporte à paginação e filtros.
- Contagem do total de itens armazenados.
- Adição de itens individuais ou em lote.
- Atualização de itens com base no ID.
- Exclusão de itens pelo ID.
- Documentação com Swagger:
- A API está documentada utilizando o Swagger para facilitar a compreensão dos endpoints e suas funcionalidades.
- Gerenciamento de Projetos:
- Exibição de itens com paginação e filtros.
- Busca personalizada por título e descrição.
- Comunicação com a API para operações CRUD.
- Node.js: Plataforma de execução JavaScript.
- Express: Framework para construção da API REST.
- MongoDB: Banco de dados NoSQL para armazenar os itens.
- Swagger: Documentação interativa da API.
- dotenv: Gerenciamento de variáveis de ambiente.
- Angular: Framework para construção do frontend.
- Angular CLI: Ferramenta de linha de comando para desenvolvimento.
- PrimeNG: Biblioteca de componentes visuais.
- HttpClient: Comunicação com a API.
techhub-app/
│
├── server/
│ ├── db_mongo.js # Configuração de conexão com MongoDB
│ ├── swagger.js # Configuração do Swagger
│ ├── server.js # Arquivo principal do backend
│
├── frontend/
│ ├── src/
│ │ ├── app/
│ │ │ ├── services/ # Serviços Angular para comunicação com a API
│ │ │ ├── components # Componentes Angular
│ │ ├── environments/ # Configurações de ambiente
│
└── dist/ # Aplicação Angular empacotada
Método | Endpoint | Descrição |
---|---|---|
GET | /api/items |
Lista todos os itens com suporte a filtros e paginação. |
GET | /api/items/count |
Retorna o total de itens armazenados. |
POST | /api/items |
Cria um novo item. |
POST | /api/items/bulk |
Adiciona vários itens de uma vez. |
PUT | /api/items/:id |
Atualiza um item existente pelo ID. |
DELETE | /api/items/:id |
Remove um item pelo ID. |
Para detalhes dos parâmetros e exemplos de resposta, acesse a documentação no Swagger.
- Node.js e npm
- MongoDB
- Angular CLI instalado globalmente (
npm install -g @angular/cli
)
-
Clone o repositório:
git clone <url-do-repositorio> cd techhub-app
-
Configure o banco de dados MongoDB:
- Edite o arquivo
db_mongo.js
com a URL do seu banco de dados.
- Edite o arquivo
-
Configure as variáveis de ambiente:
- Crie um arquivo
.env
no diretório raiz do backend com a seguinte configuração:PORT=3000 API_URL=http://localhost:3000/api
- Crie um arquivo
-
Instale as dependências:
cd backend npm install
-
Inicie o servidor:
node server.js
-
Instale as dependências:
cd frontend npm install
-
Inicie o servidor de desenvolvimento:
ng serve
-
Acesse a aplicação no navegador:
- URL:
http://localhost:4200
- URL:
- Compile o frontend para produção:
ng build --configuration production
- O conteúdo gerado estará na pasta
dist/techhub-app/browser
.
Acesse a documentação da API no Swagger:
- URL:
http://localhost:3000/api-docs
Caso tenha dúvidas ou sugestões, sinta-se à vontade para abrir uma issue ou enviar uma mensagem.
Desenvolvido com 💻 e ☕.