O at-course-manager-app é uma app full-stack para gerenciar cursos com praticidade. Ele permite manter o controle do preço dos cursos, oferecendo uma interface simples e intuitiva, acessível em uma Single Page Application (SPA) feita com Angular. O sistema de backend é desenvolvido em PHP, utilizando MySQL para armazenar os dados dos cursos.
- Cadastro de cursos com nome e preço.
- Listagem de todos os cursos com nome e preço.
- Alteração de dados de cursos.
- Exclusão de cursos.
A aplicação é dividida em dois principais containers Docker:
- php-container: Contém a aplicação backend (PHP + Apache 2.4 + MySQLi).
- mysql-container: Contém o banco de dados MySQL v9.1.
A aplicação é orquestrada com o Docker Compose, permitindo fácil inicialização e gerenciamento.
- Frontend: Angular, Bootstrap
- Backend: PHP 8.2, Apache 2.4, MySQLi
- Banco de Dados: MySQL v9.1
- Containers: Docker, Docker Compose
- Docker Compose
-
Clone o repositório:
git clone /~https://github.com/samuelmendespy/at-course-manager-app.git cd at-course-manager-app
-
Inicie os containers:
docker-compose up --build
-
A aplicação estará disponível em:
- Frontend (Angular SPA): http://localhost/app/
- API (PHP Backend): http://localhost/api/{endpoint}
A API do backend permite realizar as seguintes operações:
-
Cadastrar Curso
- Método:
POST
- Endpoint:
/api/cadastrar
- Parâmetros:
name
: Nome do cursoprice
: Preço do curso
- Descrição: Cria um novo curso com nome e preço.
- Método:
-
Listar Cursos
- Método:
GET
- Endpoint:
/api/listar
- Descrição: Retorna todos os cursos cadastrados, com id, nome e preço.
- Método:
-
Alterar Curso
- Método:
PATCH
- Endpoint:
/api/alterar
- Parâmetros:
id
: ID do curso a ser alteradoname
: Novo nome do cursoprice
: Novo preço do curso
- Descrição: Altera o nome e preço de um curso existente.
- Método:
-
Excluir Curso
- Método:
DELETE
- Endpoint:
/api/excluir
- Parâmetros:
id
: ID do curso a ser excluído
- Descrição: Exclui um curso com o ID fornecido.
- Método:
.
├── db
│ ├── data # Dados persistentes do banco de dados MySQL
│ └── init # Scripts de inicialização do banco de dados
├── web
│ ├── api # Código da API (backend PHP)
│ └── app # Código do frontend (Angular)
└── docker-compose.yml # Arquivo de configuração do Docker Compose
- Faça um fork do repositório
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature
) - Faça os commits necessários (
git commit -am 'Adicionando nova feature'
) - Envie para o repositório (
git push origin feature/MinhaFeature
) - Abra um pull request
Distribuído sob a licença MIT. Veja o arquivo LICENSE para mais informações.