Skip to content

ChristianRamseier/fullstack-surfshop

Repository files navigation

Surfshop - a modular fullstack application showcase

In this modular fullstack sample application a windsurf rental software is implemented in TypeScript and Kotlin. Frameworks in use are:

Domain

Windsurfer's Paradise is a (fictional) rental station on Mauritus. In order to surf here you need ...

  • ... high tide in the lagoon to avoid getting get scratches (not only on your surfboard).
  • ... moderate to strong wind from the north or the south.
  • ... a reservation at the shop :)

domain

Modules & Components

Functional modules are first-class citizens in the project folder structure. As every backend module is a separate Gradle module, the architecture layering is enforced by the compiler.

modules

Common modules are libraries with shared classes, logic and domain value objects. Typically they are free of framework code.

Capability modules are used to add behaviour to the context and/or configure the framework of the module.

Application modules only contain the main class with a @SpringBootApplication annotation, the module dependencies define what is packaged and run with it.

Getting started

  1. Clone the repository
  2. Import the project in your IDE
  3. Build the project using gradlew build
  4. Run the backend applications SurfshopApplication and WeatherServiceApplication
  5. Run the frontend using setupNode.cmd followed by npm install and npm start in the webapp directory.
  6. Launch http://localhost:4200 to see the shop

About

Surfshop - a modular fullstack application showcase

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •