Skip to content

Repository files navigation

Lista de Compras

🇺🇸 English · 🇧🇷 Português

A web application to manage shopping lists / Aplicação web para gerenciar listas de compras.


🇺🇸 English

Web application to manage shopping lists, with support for multiple users, carts, and items, plus database integration and cloud deployment.

Demo

listacompras

Features

  • Create new carts
  • View the list of existing carts
  • Select an active cart
  • Add items individually or in bulk (comma-separated)
  • Delete carts and items
  • User login (with support for multiple users)
  • Persistent database with PostgreSQL

Tech Stack

  • Backend: Flask + SQLAlchemy + Flask-Login + FastAPI
  • Database: PostgreSQL (RDS on AWS).
  • Frontend: Flask, HTML, CSS, Bootstrap.
  • Infrastructure: Docker, AWS EC2 + RDS.

Setup

  1. Clone the repository
git clone https://github.com/rayssarrsilva/ListaCompras.git
cd ListaCompras
  1. Create and activate a virtual environment
python -m venv venv
source venv/bin/activate   # Linux/Mac
venv\Scripts\activate      # Windows
  1. Install dependencies
pip install -r requirements.txt
  1. Configure environment variables in .env
DATABASE_URL (PostgreSQL)
SECRET_KEY
  1. Run locally
uvicorn main:app --reload
http://127.0.0.1:8000

What I Learned

  1. Integrating Flask and FastAPI in the same project.
  2. Setting up PostgreSQL on AWS RDS.
  3. Using Docker for containerization and deployment.
  4. Configuring CI/CD to ensure continuous quality.
  5. Good architectural practices to separate frontend and backend.
  6. Implementing automated tests with Pytest.
  7. Applying the Vibe Coding methodology to organize the development flow, document decisions, and maintain consistency across frontend, backend, and infrastructure.

🇧🇷 Português

Aplicação web para gerenciar listas de compras, com suporte a múltiplos usuários, carrinhos e itens, além de integração com banco de dados e deploy em nuvem.

Funcionalidades

  • Criar novos carrinhos
  • Visualizar lista de carrinhos existentes
  • Selecionar um carrinho ativo
  • Adicionar itens individualmente ou em lote (separados por vírgula)
  • Deletar carrinhos e itens
  • Login de usuário (com suporte a múltiplos usuários)
  • Banco de dados persistente com PostgreSQL

Tecnologias

  • Backend: Flask + SQLAlchemy + Flask-Login + FastAPI
  • Database: PostgreSQL (RDS na AWS).
  • Frontend: Flask, HTML, CSS, Bootstrap.
  • Infraestrutura: Docker, AWS EC2 + RDS.

Setup

  1. Clone o repositório
git clone https://github.com/rayssarrsilva/ListaCompras.git
cd ListaCompras
  1. crie e ative um ambiente virtual
python -m venv venv
source venv/bin/activate   # Linux/Mac
venv\Scripts\activate      # Windows
  1. Instale dependências
pip install -r requirements.txt
  1. Configure variáveis de ambiente em .env
DATABASE_URL (PostgreSQL)
SECRET_KEY
  1. Rode localmente
uvicorn main:app --reload
http://127.0.0.1:8000

O que aprendi

  1. Integração de Flask e FastAPI em um mesmo projeto.
  2. Configuração de PostgreSQL na AWS RDS.
  3. Uso de Docker para containerização e deploy.
  4. Configuração de CI/CD para garantir qualidade contínua.
  5. Boas práticas de arquitetura para separar frontend e backend.
  6. Implementação de testes automatizados com Pytest.
  7. Aplicação da metodologia Vibe Coding para organizar o fluxo de desenvolvimento, documentar decisões e manter consistência entre frontend, backend e infraestrutura.

About

Aplicação web para gerenciar listas de compras, com Flask (frontend), FastAPI (backend) e PostgreSQL. Suporta múltiplos usuários, criação/edição de carrinhos e itens, testes automatizados com Pytest, CI/CD, Docker e deploy no Render.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages