KanbanFlow é uma aplicação web de página única para acompanhamento de tarefas em formato de quadro Kanban, com operações completas de criação, leitura, atualização e exclusão. O projeto é o estudo de caso da consultoria de adoção da Cultura DevOps na empresa fictícia CodeFactory Solutions, disciplina de DevOps e Integração Contínua.
Demonstrar, em um produto pequeno e funcional, como versionamento distribuído, padronização de repositório, containerização e integração contínua resolvem os problemas relatados pela CodeFactory Solutions: ambientes divergentes entre desenvolvedores, integração manual e demorada, ausência de documentação e erros recorrentes após atualizações.
| Camada | Tecnologia |
|---|---|
| Frontend | HTML5, CSS3 (custom properties), JavaScript ES6+ (Fetch API, Drag and Drop) |
| Backend | PHP 8.4 (PDO), API REST em JSON |
| Banco de dados | MariaDB 11.4 |
| Servidor web | Apache 2.4 (mod_php, mod_rewrite) |
| Containers | Docker + Docker Compose |
| CI/CD | GitHub Actions |
| Versionamento | Git + GitHub (Issues, Milestones, Labels, Wiki, Projects) |
kanbanflow/
├── .github/workflows/ # pipelines de CI/CD
├── db/init.sql # schema e carga inicial do MariaDB
├── docker/ # Dockerfile, php.ini e vhost do Apache
├── docs/ # documentação e evidências
├── src/ # código servido pelo Apache
│ ├── api/ # endpoints REST em PHP
│ ├── assets/ # css e js
│ └── index.php # página única
├── docker-compose.yml
└── README.mdPré-requisitos: Docker Engine 24+ e Docker Compose v2. Nada mais precisa ser instalado na máquina — nem PHP, nem MariaDB, nem Apache.
git clone https://github.com/olwr/kanbanflow-devops.git
cd kanbanflow-devops
cp .env.example .env # ajuste as senhas se desejar
docker compose builddocker compose up -d # sobe app + banco
docker compose ps # confere o estado (healthy)
docker compose logs -f app # acompanha os logs do Apache/PHPAcesse http://localhost:8080. A API responde em http://localhost:8080/api/tasks.php
e a verificação de saúde em http://localhost:8080/api/health.php.
Para encerrar:
docker compose down # mantém os dados no volume
docker compose down -v # remove também o volume do banco| Método | Rota | Ação |
|---|---|---|
| GET | /api/tasks.php | Lista todas as tarefas |
| GET | /api/tasks.php?id=1 | Retorna uma tarefa |
| POST | /api/tasks.php | Cria tarefa |
| PUT | /api/tasks.php?id=1 | Atualiza tarefa |
| DELETE | /api/tasks.php?id=1 | Exclui tarefa |
| Nome | RU | Frente |
|---|---|---|
| Oliver Benites | 5058026 | Infraestrutura, CI/CD e Backend |
| Jéssica Vasques | 5015640 | Frontend |
Distribuído sob a licença MIT. Consulte LICENSE.