A web application to manage shopping lists / Aplicação web para gerenciar listas de compras.
Web application to manage shopping lists, with support for multiple users, carts, and items, plus database integration and cloud deployment.
- 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
- Backend: Flask + SQLAlchemy + Flask-Login + FastAPI
- Database: PostgreSQL (RDS on AWS).
- Frontend: Flask, HTML, CSS, Bootstrap.
- Infrastructure: Docker, AWS EC2 + RDS.
- Clone the repository
git clone https://github.com/rayssarrsilva/ListaCompras.git
cd ListaCompras
- Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
- Install dependencies
pip install -r requirements.txt
- Configure environment variables in .env
DATABASE_URL (PostgreSQL)
SECRET_KEY
- Run locally
uvicorn main:app --reload
http://127.0.0.1:8000
- Integrating Flask and FastAPI in the same project.
- Setting up PostgreSQL on AWS RDS.
- Using Docker for containerization and deployment.
- Configuring CI/CD to ensure continuous quality.
- Good architectural practices to separate frontend and backend.
- Implementing automated tests with Pytest.
- Applying the Vibe Coding methodology to organize the development flow, document decisions, and maintain consistency across frontend, backend, and infrastructure.
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.
- 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
- Backend: Flask + SQLAlchemy + Flask-Login + FastAPI
- Database: PostgreSQL (RDS na AWS).
- Frontend: Flask, HTML, CSS, Bootstrap.
- Infraestrutura: Docker, AWS EC2 + RDS.
- Clone o repositório
git clone https://github.com/rayssarrsilva/ListaCompras.git
cd ListaCompras
- crie e ative um ambiente virtual
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
- Instale dependências
pip install -r requirements.txt
- Configure variáveis de ambiente em .env
DATABASE_URL (PostgreSQL)
SECRET_KEY
- Rode localmente
uvicorn main:app --reload
http://127.0.0.1:8000
- Integração de Flask e FastAPI em um mesmo projeto.
- Configuração de PostgreSQL na AWS RDS.
- Uso de Docker para containerização e deploy.
- Configuração de CI/CD para garantir qualidade contínua.
- Boas práticas de arquitetura para separar frontend e backend.
- Implementação de testes automatizados com Pytest.
- Aplicação da metodologia Vibe Coding para organizar o fluxo de desenvolvimento, documentar decisões e manter consistência entre frontend, backend e infraestrutura.
