An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

# 🎓 Cadastro de Cursos


Logo do Projeto

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.