https://github.com/tonhowtf/cadastrodecursos
Uma API para cadastro de cursos usando SpringBoot
https://github.com/tonhowtf/cadastrodecursos
api backend java springboot
Last synced: about 1 year ago
JSON representation
Uma API para cadastro de cursos usando SpringBoot
- Host: GitHub
- URL: https://github.com/tonhowtf/cadastrodecursos
- Owner: tonhowtf
- Created: 2025-04-09T21:33:04.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-14T19:56:50.000Z (about 1 year ago)
- Last Synced: 2025-04-15T02:47:14.871Z (about 1 year ago)
- Topics: api, backend, java, springboot
- Language: Java
- Homepage: https://www.tonho.wtf
- Size: 171 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 🎓 Cadastro de Cursos
Uma aplicação em Spring Boot para gerenciar cursos e professores
## 📋 Índice
- [Sobre](#-sobre)
- [Funcionalidades](#-funcionalidades)
- [Tecnologias](#-tecnologias)
- [Instalação](#-instalação)
- [Modelo de Dados](#-modelo-de-dados)
- [Repositório](#-repositório)
- [Licença](#-licença)
## 📖 Sobre
O **Cadastro de Cursos** é uma aplicação full stack com arquitetura em camadas desenvolvida com **Spring Boot**, voltada para o gerenciamento de cursos e seus respectivos professores. A aplicação utiliza um banco de dados em memória **H2**, com migrações gerenciadas pelo **Flyway**, e foi construída seguindo boas práticas como versionamento com **Git** e hospedagem no **GitHub**.
Além da funcionalidade de gerenciamento, o projeto também conta com conteúdos extras que abordam conceitos de banco de dados de forma aprofundada.
## ✨ Funcionalidades
- Cadastro de cursos com nome, descrição e carga horária
- Cadastro de professores com nome, idade e email
- Viculo de professores em cursos
- Cada curso pode ter vários professores
- Interface RESTful para interações via API
- Banco de dados em memória durante execução
## 🔧 Tecnologias
### Backend
- **Spring Boot** — Framework principal da aplicação
- **Spring Data JPA** — ORM para persistência no banco
- **Flyway** — Migrações de banco de dados
- **H2 Database** — Banco em memória para testes e dev
- **Maven** — Build e gerenciamento de dependências
- **Docker** — Containerização do ambiente
- **Git & GitHub** — Controle de versão e hospedagem
## 🚀 Instalação
### Pré-requisitos
- Java 17+
- Maven
- Git
### Passo a passo
```bash
# Clonar o repositório
git clone https://github.com/horaciomuller/CadastroDeCursos.git
cd CadastroDeCursos
# Construir o projeto
mvn clean install
# Executar a aplicação
mvn spring-boot:run
```
A aplicação estará disponível em `http://localhost:8080`.
## 🗃️ Modelo de Dados
O sistema possui dois principais modelos: **Curso** e **Professores**.
### Curso
- `id` (Long)
- `nome` (String)
- `categoria` (String)
- `habilidade` (String)
- `professor` (String)
- `horas` (int)
### Professor
- `id` (Long)
- `nome` (String)
- `telefone` (Integer)
- `email` (String)
- `Cursos` (String)
### Relacionamento
- Um **Curso** pode ter **vários Professores**
- Um **Professor** pode estar dando aula em **um único Curso**
## 📦 Repositório
O projeto está disponível no GitHub:
🔗 [Cadastro De Cursos](https://github.com/tonhowtf/CadastroDeCursos)
## 📜 Licença
Este projeto está licenciado sob a Licença MIT.