flyfood-api

module
v0.0.0-...-b372aa1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 9, 2025 License: MIT

README

Flyfood-api

Repositório da API do FlyFood (keel test)

Sobre o Projeto

A API do FlyFood é uma solução desenvolvida em Golang que serve como o backend para o aplicativo FlyFood. Este aplicativo visa facilitar a descoberta de restaurantes e lojas na região dos usuários. Ele fornece informações básicas sobre estabelecimentos, como disponibilidade, e permite que os usuários façam pedidos de delivery ou optem por ir ao local. Além disso, o aplicativo oferece uma funcionalidade de avaliação para que os consumidores possam compartilhar suas experiências.

Os principais atores do sistema são:

  • Consumidor: O usuário final que utiliza o aplicativo para conhecer restaurantes e lojas, fazer

  • pedidos (delivery ou ir ao local) e obter informações como disponibilidade dos estabelecimentos.

  • Dono da Loja: O proprietário do estabelecimento que utiliza a plataforma para receber pedidos,

  • fazer marketing e gerenciar informações do seu negócio.

  • Futuro Motoboy: A API está projetada para, futuramente, incluir funcionalidades para motoboys,

  • que poderão receber informações sobre entregas a serem realizadas.

Esta API é a espinha dorsal da aplicação FlyFood, garantindo uma integração eficiente e escalável entre os diferentes componentes do sistema e seus usuários.

Funcionalidades

  • Consulta de Estabelecimentos: Permite aos consumidores buscar e visualizar informações sobre restaurantes e lojas na sua região.
  • Pedidos e Entregas: Facilita a realização de pedidos de delivery e fornece informações sobre a disponibilidade dos estabelecimentos.
  • Avaliações: Permite que os consumidores avaliem e comentem sobre suas experiências em diferentes locais.
  • Gerenciamento de Pedidos: Oferece uma plataforma para donos de lojas gerenciarem pedidos e realizar atividades de marketing.

Depêndencias

Obs: Configuradas como tool usando a nova feature do go1.24.0. Migrate ainda precisa instalar local devido ao uso de tags

1. Migrate CLI
go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest

Repositório com mais informações aqui

2. SQLC
go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest

Repositório com mais informações aqui

3. swaggo
go install github.com/swaggo/swag/cmd/swag@latest

Repositório com mais informações aqui

4. Air hot reload
go install github.com/air-verse/air@latest

Repositório com mais informações aqui

5. validator

Documentação disponível aqui

5. golangci-lint
go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.2.1

Documentação disponível aqui

Primeira vez ao rodar o app localmente

  1. Criar .env e preencher variáveis de ambiente

    cp .env.example .env
    
  2. Instalar dependências do app

    make install
    
  3. Subir banco de dados e demais containers

    make up
    
  4. Executar migrations

    make migration-up
    
  5. Mockar dados no banco local

    make mock-db
    
  6. Rodar a API

    make dev
    
  7. Acessar swagger aqui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL