Skip to content

About

Spring Boot web app modeling scout youth progression with specialties, badges, challenges and reports

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scout Progression System

A Spring Boot web application that models the progression system of the youth branch of a scouting organization. It tracks young members, the specialties and badges they earn, the challenges they complete, and produces reports about their progress. Built as a course project for a databases discipline.

Tech stack

  • Java 21
  • Spring Boot 3.5 (Web MVC, Data JPA, Validation)
  • Thymeleaf for server-side rendered pages
  • Hibernate over a MySQL database
  • Lombok
  • Gradle (with the Gradle wrapper)

What it does

  • Manages young members (Pessoa): create, edit, list, view details and delete.
  • Records responsible parties (Responsavel) and links them to a member (Vinculo).
  • Stores health data (SaudeDado) and known health problems (ProblemaSaude).
  • Registers completed challenges (DesafioFeito), challenges tied to a specialty (DesafioDeEspecialidadeFeita) and concluded challenges (DesafioConcluidoFeito).
  • Tracks nights spent camping (NoiteAcampado) associated with camps (Acampamento).
  • Models specialties (Especialidade) grouped by area of knowledge (AreaDeConhecimento), badges (Insignia) and blood types (TipoSanguineo).
  • Provides reports: biographical data of a member, members by specialty, specialties and badges earned by a member, requirements fulfilled for a given specialty, and members eligible for the Cruzeiro do Sul distinction.

The domain model and its relationships are illustrated in modelagem.png.

Project structure

The application lives under bcd/:

  • src/main/java/com/example/bcd/model JPA entities
  • src/main/java/com/example/bcd/repository Spring Data repositories
  • src/main/java/com/example/bcd/service business logic and report queries
  • src/main/java/com/example/bcd/dto data transfer objects for views and requests
  • src/main/java/com/example/bcd/controller/web the web controller
  • src/main/resources/templates Thymeleaf templates
  • src/main/resources/ddl-dml.sql schema and seed data

Running locally

Prerequisites: JDK 21 and a running MySQL instance.

The application expects a database named bcd reachable at localhost:3306, with user aluno and password aluno. These values are set in bcd/src/main/resources/application.yml and can be adjusted there. On startup the schema and seed data in ddl-dml.sql are applied automatically.

git clone https://github.com/nicolasfvp/scout-progression-api.git
cd scout-progression-api/bcd
./gradlew bootRun

The application starts on http://localhost:8080.

Status

Academic project built for a databases discipline. Not intended for production use.

License

Released under the MIT License. See the LICENSE file for details.

About

Spring Boot web app modeling scout youth progression with specialties, badges, challenges and reports

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages