Skip to content

Latest commit

 

History

History
249 lines (174 loc) · 9.47 KB

File metadata and controls

249 lines (174 loc) · 9.47 KB

DistribuLanche 🍔🍟



Descentralizado no sistema, unificado no sabor!





Docker Git GitHub Visual Studio Code Django Python PostgreSQL Canva Google Cloud Bootstrap AJAX Postman


📑 Apresentação do Projeto



Ler Apresentação do projeto

O Distribulanche é uma aplicação desenvolvida como parte da disciplina de Sistemas Distribuídos na UNIVASF. Ela foi projetada para conectar vendedores e compradores de lanches de maneira eficiente e organizada.

Diante da proibição de vendas espontâneas nos corredores do campus, a plataforma surge como uma solução inovadora para permitir que vendedores cadastrem produtos e usuários realizem compras de forma centralizada.


🖼️ Demonstração do Projeto

Interface do Sistema:

Tela 7 Tela 8 Tela 6
Tela 1 Tela 2 Tela 3
Tela 4 Tela 5

🛠️ Tecnologias Utilizadas

Este projeto utiliza as seguintes tecnologias:

  • Backend: Django
  • Frontend: Django Templates
  • Banco de Dados: PostgreSQL
  • Ambiente: Docker e Docker Compose
  • Ferramentas de Desenvolvimento: Git e Visual Studio Code
  • Design de Interface: Canva
  • Outras Tecnologias: Google Cloud, AJAX, Bootstrap...

🎨 Identidade Visual

  • Cores:
    • #8c0234
    • #fc7c0f
  • Fonte da Logo: Euphoria Script

📋 Funcionalidades do Sistema

Principais Funcionalidades

  1. Vendedores:
    • Cadastrar produtos e definir horários de disponibilidade.
    • Gerenciar pedidos e responder a mensagens no chat.
  2. Usuários:
    • Visualizar catálogo de produtos.
    • Realziar compras.
    • Avaliar compras.
    • Comunicação direta com vendedores via chat.

Requisitos Obrigatórios

  • Customização do Admin Django.
  • Autenticação e recuperação de senha.
  • Validação de dados e envio de e-mails.
  • Banco de dados robusto com:
    • 8 tabelas principais.
    • 5 tabelas auxiliares.
  • Framework de mensagens e paginação.

Requisitos Desejáveis

  • Integração com Mercado Pago para pagamentos via API REST.
  • Fornecimento de API para consumo de recursos por outros sistemas.

⚠️ Observações

Para garantir a segurança e a privacidade dos dados, algumas informações sensíveis foram removidas deste repositório. Isso inclui:

  • Chaves de API do Mercado Pago.
  • Senhas de aplicativos SMTP utilizados para envio de e-mails, como o Google App Password.

Caso precise executar o projeto em ambiente local, você deverá configurar essas credenciais manualmente em arquivos apropriados, como o .env. Essas informações devem ser obtidas diretamente nas plataformas correspondentes:

Recomendamos que não compartilhe essas credenciais publicamente para evitar problemas de segurança.


🚀 Instruções de Instalação e Uso

1️⃣ Ambiente Local

Pré-requisitos

  • Certifique-se de ter as seguintes ferramentas instaladas:
    • Docker e Docker Compose
    • Python 3.10+
    • Git

Passos para Configuração

  1. Clone o Repositório

    git clone https://github.com/seu-usuario/distribulanche.git
    cd distribulanche
  2. Configure os Domínios Locais Adicione os seguintes domínios ao arquivo /etc/hosts:

    127.0.0.1 projetosd.local
    127.0.0.1 www.projetosd.local
    127.0.0.1 adm.projetosd.local
    127.0.0.1 api.projetosd.local
    
  3. Inicialize o Banco de Dados Execute o script de inicialização do banco:

    sh init_db.sh
  4. Suba os Contêineres Inicie os serviços com Docker Compose:

    docker compose up -d
  5. Configure o Django Realize as migrações e crie o superusuário:

    docker exec -it web python manage.py makemigrations
    docker exec -it web python manage.py migrate
    docker exec -it web python manage.py createsuperuser
  6. Acesse os Serviços Locais Utilize os seguintes endereços no navegador:

    • Frontend: https://projetosd.local
    • Administração Banco dados: https://adm.projetosd.local
    • API: https://api.projetosd.local

2️⃣ Ambiente Remoto

Pré-requisitos

  • Criar uma instância de máquina virtual (VM) em uma nuvem de sua preferência (AWS, GCP, Azure, etc.).
  • Configurar a conectividade via SSH.

Passos para Configuração

  1. Crie Chaves SSH Gere suas chaves SSH localmente:

    ssh-keygen -t rsa -f projetosd.pem -C "[email protected]" -b 2048
  2. Configure a Instância

    • Adicione a chave pública à configuração da VM.
    • Faça login na instância via SSH:
      ssh -i projetosd.pem usuario@<ip-da-instancia>
  3. Clone o Repositório

    git clone https://github.com/seu-usuario/distribulanche.git
    cd distribulanche
  4. Prepare o Ambiente

    • Crie a pasta /secrets e adicione as variáveis no arquivo .env.prod.
    • Configure senhas seguras para produção.
  5. Inicialize os Serviços Inicie os contêineres Docker:

    docker compose up -d
  6. Configure os Domínios Remotos Configure os domínios públicos para os serviços, como:

    • Frontend: https://www.projetosd.com.br
    • Administração: https://adm.projetosd.com.br
    • API: https://api.projetosd.com.br
  7. Acesse os Serviços Remotos Utilize os endereços configurados no domínio remoto.


👥 Contribuidores

Projeto desenvolvido por estudantes da UNIVASF como parte da disciplina de Sistemas Distribuídos:


🛡️ Licença

Este projeto está licenciado sob a MIT License. Sinta-se à vontade para usar, modificar e distribuir!


🌟 Agradecimentos

Agradecemos à UNIVASF e ao professor Jairson Rodrigues, responsável pela disciplina de Sistemas Distribuídos por nos proporcionar a oportunidade de desenvolver este projeto.