Skip to content

DevYuriVieira/bootcamp-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎓 Bootcamp Management System - Java OOP & Streams

Java Status LinkedIn


🇺🇸 English Version

A sophisticated domain modeling project that simulates a Tech Education Platform. This system demonstrates mastery in Object-Oriented Programming (OOP) pillars and explores modern Java 17 features like the Stream API.

📋 Project Highlights

  • Domain-Driven Abstraction: Usage of an abstract class Conteudo as a base for Curso and Mentoria, enforcing DRY (Don't Repeat Yourself) principles.
  • Collections API Mastery: Strategic use of LinkedHashSet to maintain enrollment order while preventing duplicate content.
  • Functional Logic: Implementation of Stream API for clean, declarative data processing, especially in XP calculation and student ranking.
  • Business Rules: Custom logic for bootcamp graduation and performance-based leaderboards.

📂 Project Structure

The project follows a modular package structure to ensure separation of concerns:

src/
└── dio.desafio.dominio/
    ├── Main.java           # Entry point / Ranking & Simulation
    ├── Bootcamp.java       # Domain entity managing contents and devs
    ├── Conteudo.java       # Abstract Base Class for learning material
    ├── Curso.java          # Specific content with workload logic
    ├── Mentoria.java       # Live sessions with date handling
    └── Dev.java            # Core logic for progression and XP calculation

🚀 How to Run

  • Clone the repository
  • Open in IntelliJ IDEA
  • Ensure JDK 17 is configured
  • Run the Main.java file

🇧🇷 Versão em Português

Um projeto sofisticado de modelagem de domínio que simula uma Plataforma de Ensino Tecnológico. Este sistema demonstra domínio nos pilares de Programação Orientada a Objetos (POO) e explora recursos modernos do Java 17, como a Stream API.

📋 Destaques do Projeto

  • Abstração de Domínio: Uso da classe abstrata Conteudo como base para Curso e Mentoria, aplicando princípios DRY (Don't Repeat Yourself).
  • Domínio de Collections: Uso estratégico de LinkedHashSet para manter a ordem de inscrição e evitar conteúdos duplicados.
  • Lógica Funcional: Implementação de Stream API para processamento de dados declarativo, especialmente no cálculo de XP e ranking de alunos.
  • Regras de Negócio: Lógica customizada para graduação no bootcamp e quadros de líderes baseados em performance.

📂 Estrutura do Projeto

O projeto segue uma estrutura de pacotes modular para garantir a separação de responsabilidades:

src/
└── dio.desafio.dominio/
    ├── Main.java           # Ponto de entrada / Simulação e Ranking
    ├── Bootcamp.java       # Entidade que gerencia conteúdos e devs
    ├── Conteudo.java       # Classe Abstrata Base para materiais
    ├── Curso.java          # Conteúdo específico com carga horária
    ├── Mentoria.java       # Sessões ao vivo com gestão de datas
    └── Dev.java            # Lógica central de progressão e cálculo de XP

🚀 Como Executar

  • Clone o repositório
  • Abra no IntelliJ IDEA
  • Certifique-se de usar o JDK 17
  • Execute o arquivo Main.java

Developed by Yuri Vieira

About

A backend simulation of a Bootcamp platform built with Java. Implements complex relationships using OOP, Java Collections API (Set, Map), and Stream API for data processing.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages