# 
# Mobildata-server
> ### Kotlin + Spring codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the [RealWorld](https://github.com/gothinkster/realworld-example-apps) spec and API.
> ### Collecting, storing, processing and visualizing data from smart phones
This codebase was created to demonstrate a fully fledged fullstack application built with Kotlin + Spring including CRUD operations, authentication, routing, pagination, and more.
This codebase was created to demonstrate a fully fledged fullstack application built with Kotlin + Spring including CRUD operations, authentication, routing, pagination, and more.
...
@@ -8,7 +8,22 @@ We've gone to great lengths to adhere to the Kotlin + Spring community styleguid
...
@@ -8,7 +8,22 @@ We've gone to great lengths to adhere to the Kotlin + Spring community styleguid
For more information on how to this works with other frontends/backends, head over to the [RealWorld](https://github.com/gothinkster/realworld) repo.
For more information on how to this works with other frontends/backends, head over to the [RealWorld](https://github.com/gothinkster/realworld) repo.
# How it works
## Mobil Client
TODO
## Collected data types
`TODO`
## API
The Rest API documentation can be found on `http://<IP-address>:8080/v2/api-docs` after
deploying and running the server.
The Json description is produced with [Swagger](https://swagger.io/)
## Architecture
The application uses Spring (Web, Data, AOP, Cache) and the Kotlin language.
The application uses Spring (Web, Data, AOP, Cache) and the Kotlin language.
...
@@ -23,8 +38,6 @@ The application uses Spring (Web, Data, AOP, Cache) and the Kotlin language.
...
@@ -23,8 +38,6 @@ The application uses Spring (Web, Data, AOP, Cache) and the Kotlin language.
Object for REST in/out operations
Object for REST in/out operations
JPA models
JPA models
+ repository/
+ repository/
+ specification/
Some specifications for JPA
Spring repositories
Spring repositories
+ service/
+ service/
Spring services
Spring services
...
@@ -41,20 +54,11 @@ The secret key and jwt issuer are stored in `application.properties`.
...
@@ -41,20 +54,11 @@ The secret key and jwt issuer are stored in `application.properties`.
# Database
# Database
It uses a H2 in memory database (for now), can be changed easily in the `application.properties` for any other database.
It uses PostgreSQL database
You'll need to add the correct maven dependency for the needed `Driver` in `pom.xml`.
# Getting started
# Build and run
You need Java and maven installed.
You need Java and maven installed.
mvn spring-boot:run
mvn spring-boot:run
open http://localhost:8080
open http://localhost:8080
# Help
Please fork and PR to improve the code.
# Kotlin
I've been using Kotlin for some time, but I'm no expert, so feel free to contribute and modify the code to make it more idiomatic!