Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

hubcommunitytech/techHub-app

Repository files navigation

TechHub App

Descrição

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.

Funcionalidades

Backend

  • 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.

Frontend

  • 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.

Tecnologias Utilizadas

Backend

  • 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.

Frontend

  • 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.

Javascript Typescript Nodejs Git MongoDB Angular

Estrutura do Projeto

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

Endpoints da API

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.

Como Rodar a Aplicação

Pré-requisitos

  • Node.js e npm
  • MongoDB
  • Angular CLI instalado globalmente (npm install -g @angular/cli)

Configuração

  1. Clone o repositório:

    git clone <url-do-repositorio>
    cd techhub-app
  2. Configure o banco de dados MongoDB:

    • Edite o arquivo db_mongo.js com a URL do seu banco de dados.
  3. 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
      

Inicialização do Backend

  1. Instale as dependências:

    cd backend
    npm install
  2. Inicie o servidor:

    node server.js

Inicialização do Frontend

  1. Instale as dependências:

    cd frontend
    npm install
  2. Inicie o servidor de desenvolvimento:

    ng serve
  3. Acesse a aplicação no navegador:

    • URL: http://localhost:4200

Deploy da Aplicação

  • Compile o frontend para produção:
    ng build --configuration production
  • O conteúdo gerado estará na pasta dist/techhub-app/browser.

Documentação da API

Acesse a documentação da API no Swagger:

  • URL: http://localhost:3000/api-docs

Contato

Caso tenha dúvidas ou sugestões, sinta-se à vontade para abrir uma issue ou enviar uma mensagem.


Desenvolvido com 💻 e ☕.

About

Hub de aplicações envolvendo a ciência da computação

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /