Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

128 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

compassMap

compassMap is a Spring Boot backend that runs a self-assessment for a customer (questions & answers per dimension), computes a resulting CustomerProfile and recommends learning RoadMaps.

Tech stack

  • Java 21
  • Spring Boot 4 (Web MVC, Data JPA, Thymeleaf, DevTools)
  • H2 database (file-based) + H2 console
  • Lombok, JavaFaker (data population)
  • Maven (wrapper included)

Repository structure

Folder Content
compassMap/ Spring Boot project (pom.xml, src/)
db/ H2 database files
docs/ master docs, diagrams, mockups, appends

Data model

Entity Role
Customer person taking the assessment
Question question catalogue (per Dimension)
Answer a boolean answer value
QuestionAndAnswer question + answer + score contribution
CustomerProfile resulting profile (CodeProfile) linked to recommended RoadMaps
RoadMap learning path
AssessmentView one assessment run: customer, Q&A list, resulting profile

See docs/compassMap_v2.md for details and diagrams.

REST API

Resource Base path
Customers /api/v1/customers
Questions /api/v1/questions
Question & Answers /api/v1/questionAndAnswers
Customer profiles /api/v1/customerProfiles
Roadmaps /api/v1/roadmaps
Assessments /api/v1/assessments

Getting started

Prerequisites

  • JDK 21 (check with java -version)
  • Git
  • An IDE: IntelliJ IDEA (recommended), VS Code (with Extension Pack for Java + Spring Boot Extension Pack) or Eclipse/STS
  • Lombok support enabled in your IDE (IntelliJ: Settings > Build > Compiler > Annotation Processors > Enable annotation processing)
  • Maven is not required: the project ships with the Maven wrapper (mvnw)

1. Clone the repository

git clone https://github.com/AlbertProfe/compassMap.git
cd compassMap

2. Open the project in your IDE

  • IntelliJ IDEA: File > Open and select the inner compassMap/compassMap/pom.xml (choose Open as Project). Wait for Maven to import dependencies.
  • VS Code: File > Open Folder and select compassMap/compassMap.
  • Set the project SDK to Java 21 if the IDE asks.

3. Configure the database

Edit compassMap/src/main/resources/application.properties and point spring.datasource.url to a path on your machine, for example:

# file-based (data persists between runs)
spring.datasource.url=jdbc:h2:./db/compassmapdb
# or in-memory (data lost on shutdown)
#spring.datasource.url=jdbc:h2:mem:testdb

Credentials are defined in the same file (spring.datasource.username / spring.datasource.password).

4. Build and run

From the IDE: run DemoApplication (com.example.demo.DemoApplication).

From the terminal:

cd compassMap
./mvnw clean install      # build + run tests
./mvnw spring-boot:run    # start the app

On Windows use mvnw.cmd instead of ./mvnw.

5. Try it

curl http://localhost:8080/api/v1/customers

6. Run the tests

cd compassMap
./mvnw test

Documentation

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages