Giter VIP home page Giter VIP logo

sos-rs-backend's Introduction

🌊 Backend para App de Ajuda em Enchentes 🌊

Este repositório contém o backend de um aplicativo projetado para ajudar na organização e distribuição de suprimentos, bem como na coordenação de voluntários durante enchentes no Rio Grande do Sul. Ele fornece APIs essenciais para a autenticação de usuários, gerenciamento de abrigos e suprimentos, e muito mais.

🛠 Tecnologias Utilizadas

  • 🟢 Node.js: Ambiente de execução para JavaScript.
  • 🔗 Prisma: ORM para Node.js e TypeScript, facilitando o gerenciamento do banco de dados.
  • 🐳 Docker: Solução para desenvolvimento e execução de aplicativos em contêineres.
  • 🐦 Nest: Framework de alto desempenho para aplicações web em Node.js.
  • 📦 PostgreSQL: Banco de dados relacional robusto e eficiente.

🗂 Dump do Banco de Dados

Para iniciar com dados de exemplo, utilize o dump do banco disponível em prisma/migration/dev_dump.sql. Este arquivo pode ser executado após as migrations estarem aplicadas.

Se estiver usando Docker, os comandos para carregar o dump são:

# Copiar o dump para a pasta temporária do Docker
docker exec -it cp backup.sql POSTGRES_CONTAINER_ID:/tmp/backup.sql
# Importar o dump para o banco
docker exec -i POSTGRES_CONTAINER_ID psql -U root -d DATABASE_NAME -f /tmp/backup.sql

🐳 Configuração com Docker

Para desenvolvedores de frontend que não precisam executar localmente a API e o banco, siga estes passos:

  1. Clone o arquivo .env de exemplo:

    cp .env.local .env
  2. Use o seguinte comando para criar e iniciar o banco via Docker:

    docker-compose -f docker-compose.dev.yml up

Adicione a porta do serviço de banco no docker-compose.dev.yml para acessos externos:

ports:
  - '5432:5432'
  - '4000:4000'

🚀 Configuração Inicial Local

  1. Clone o repositório:
    git clone https://github.com/seuusuario/projeto-enchentes-backend.git
  2. Instale as dependências:
    npm install 
    npx prisma generate 
    npx prisma migrate dev 
    npm run start:dev
  3. Inicie o servidor:
    npm start
    A API estará disponível em http://localhost:4000.

📡 API Endpoints

🧑‍💻 Usuários

  • 📝 POST /users - Registra um novo usuário.
  • 🔧 PUT /users - Atualiza um usuário existente.

🚪 Sessões

  • 📝 POST /sessions - Inicia uma nova sessão de usuário.
  • 👀 GET /sessions/:sessionId - Retorna detalhes de uma sessão.
  • 🔧 PUT /sessions/:sessionId - Atualiza uma sessão.

🏠 Abrigos

  • 📝 POST /shelters - Registra um novo abrigo.
  • 🔧 PUT /shelters/:shelterId - Atualiza um abrigo.
  • 👀 GET /shelters - Lista abrigos.

📦 Suprimentos

  • 📝 POST /supply - Registra um novo item de suprimento.
  • 🔧 PUT /supplies/:supplyId - Atualiza um suprimento.
  • 👀 GET /supplies - Lista suprimentos.

🏷️ Categorias de Suprimentos

  • 📝 POST /supply-categories - Registra uma nova categoria de suprimentos.
  • 🔧 PUT /supply-categories/:categoryId - Atualiza uma categoria.

🤝 Contribuição

Contribuições são muito bem-vindas! Se deseja ajudar, faça um fork do repositório, crie uma branch com suas modificações, e envie um pull request.

Sua ajuda é crucial para apoiar a comunidade afetada pelas enchentes no Rio Grande do Sul!

sos-rs-backend's People

Contributors

fagundesjg avatar matheusdubin avatar albuquerquerafaelbruno avatar gustavocs avatar filipepacheco avatar jotahdavid avatar rhuam avatar albuquerquerafael avatar andersoncrocha avatar 4rthuurr avatar giggio avatar coelhotatiane avatar kelvinsb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.