Skip to content

Commit c4b6fd4

Browse files

File tree

1 file changed

+19
-24
lines changed

1 file changed

+19
-24
lines changed

README.md

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,41 @@
1-
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5b6503dfa3024a0dbbf173e333f80bcf)](https://app.codacy.com/app/Rudge/kotlin-javalin-realworld-example-app?utm_source=github.com&utm_medium=referral&utm_content=Rudge/kotlin-javalin-realworld-example-app&utm_campaign=Badge_Grade_Dashboard)
21
[![Travis](https://img.shields.io/travis/Rudge/kotlin-javalin-realworld-example-app.svg)](https://travis-ci.org/Rudge/kotlin-javalin-realworld-example-app/builds)
2+
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5b6503dfa3024a0dbbf173e333f80bcf)](https://app.codacy.com/app/Rudge/kotlin-javalin-realworld-example-app?utm_source=github.com&utm_medium=referral&utm_content=Rudge/kotlin-javalin-realworld-example-app&utm_campaign=Badge_Grade_Dashboard)
33
[![BCH compliance](https://bettercodehub.com/edge/badge/Rudge/kotlin-javalin-realworld-example-app?branch=master)](https://bettercodehub.com/)
44

55
# ![RealWorld Example App](logo.png)
66

7-
> ### Kotlin + Javalin codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the [RealWorld](https://github.com/gothinkster/realworld) spec and API.
8-
7+
> ### Kotlin + Javalin codebase containing real world examples (CRUD, auth, advanced patterns, etc) that adheres to the [RealWorld](https://github.com/gothinkster/realworld) spec and API
98
109
### [RealWorld](https://github.com/gothinkster/realworld)
1110

12-
1311
This codebase was created to demonstrate a fully fledged fullstack application built with **Kotlin + Javalin + Koin + Exposed** including CRUD operations, authentication, routing, pagination, and more.
1412

1513
We've gone to great lengths to adhere to the **Kotlin + Javalin** community styleguides & best practices.
1614

1715
For more information on how to this works with other frontends/backends, head over to the [RealWorld](https://github.com/gothinkster/realworld) repo.
1816

19-
2017
# How it works
2118

2219
The application was made mainly to demo the functionality of Javalin framework [71](https://github.com/tipsy/javalin/issues/71).
2320

2421
The application was built with:
2522

26-
- [Kotlin](https://github.com/JetBrains/kotlin) as programming language
27-
- [Javalin](https://github.com/tipsy/javalin) as web framework
28-
- [Koin](https://github.com/InsertKoinIO/koin) as dependency injection framework
29-
- [Jackson](https://github.com/FasterXML/jackson-module-kotlin) as data bind serialization/deserialization
30-
- [Java-jwt](https://github.com/auth0/java-jwt) for JWT spec implementation
31-
- [HikariCP](https://github.com/brettwooldridge/HikariCP) as datasource to abstract driver implementation
32-
- [H2](https://github.com/h2database/h2database) as database
33-
- [Exposed](https://github.com/JetBrains/Exposed) as Sql framework to persistence layer
34-
- [slugify](https://github.com/slugify/slugify)
23+
- [Kotlin](https://github.com/JetBrains/kotlin) as programming language
24+
- [Javalin](https://github.com/tipsy/javalin) as web framework
25+
- [Koin](https://github.com/InsertKoinIO/koin) as dependency injection framework
26+
- [Jackson](https://github.com/FasterXML/jackson-module-kotlin) as data bind serialization/deserialization
27+
- [Java-jwt](https://github.com/auth0/java-jwt) for JWT spec implementation
28+
- [HikariCP](https://github.com/brettwooldridge/HikariCP) as datasource to abstract driver implementation
29+
- [H2](https://github.com/h2database/h2database) as database
30+
- [Exposed](https://github.com/JetBrains/Exposed) as Sql framework to persistence layer
31+
- [slugify](https://github.com/slugify/slugify)
3532

3633
Tests:
3734

38-
- [junit](https://github.com/junit-team/junit4)
39-
- [Unirest](https://github.com/Kong/unirest-java) to call endpoints in tests
35+
- [junit](https://github.com/junit-team/junit4)
36+
- [Unirest](https://github.com/Kong/unirest-java) to call endpoints in tests
4037

41-
42-
#### Layers:
38+
#### Structure
4339
+ config/
4440
All app setups. Javalin, Koin and Database
4541
+ domain/
@@ -57,7 +53,7 @@ Tests:
5753
Router definition to features and exceptions
5854
- App.kt <- The main class
5955

60-
# Database
56+
#### Database
6157

6258
It uses a H2 in memory database (for now), can be changed easily in the `koin.properties` for any other database.
6359
You'll need to add the correct dependency for the needed `Driver` in `build.gradle`.
@@ -72,15 +68,14 @@ Build:
7268
> ./gradlew clean build
7369
7470
Start the server:
75-
>./gradlew run
76-
71+
> ./gradlew run
7772
7873
In the project have the [spec-api](https://github.com/Rudge/kotlin-javalin-realworld-example-app/tree/master/spec-api) with the README and collections to execute backend tests specs [realworld](https://github.com/gothinkster/realworld).
7974

8075
Execute tests and start the server:
81-
>./gradlew run & APIURL=http://localhost:7000/api ./spec-api/run-api-tests.sh
8276

83-
# Help
77+
> ./gradlew run & APIURL=http://localhost:7000/api ./spec-api/run-api-tests.sh
8478
85-
Please fork and PR to improve the code.
79+
# Help
8680

81+
Please fork and PR to improve the code.

0 commit comments

Comments
 (0)