/Atlas

Atlas backend demonstrates real world application example via RealWorld specs and API with Kotlin and Ktor

Primary LanguageKotlinApache License 2.0Apache-2.0

Atlas

Atlas codebase demonstrates practical usage of real world example that abides to RealWorld spcifications and API

Getting started

  1. Clone the repository
  2. Download and import postman collection for testing
  3. Run the project

The server is configured to start on 7003 with api/v1/ context, but you can change it in application.conf file.

Built With 🔨

  • Kotlin as programming language
  • Ktor as web framework
  • Koin as dependency injection framework
  • KotlinX JSON as data bind serialization/deserialization
  • Java-jwt for JWT spec implementation
  • HikariCP as datasource to abstract driver implementation
  • H2 as database
  • Exposed as Sql framework to persistence layer
  • slugify
  • Swagger for API preview

Structure 🔩

+ core/
  All application setup, exceptions, extensions, etc
  + config/
    Contains main module with neccessary server setup and plugins definitions
  + di/
  + exceptions/
  + extensions/
  + navigation/
  + security/
  
+ features/
  + articles/
    + data/
      Persistence layer and tables defintion
    + domain/
      Bridge between layers, holding DTOs and contracts
    + presentation/
      Classes and methods to map actions to routes
  + comments/...
  + profiles/...
  + tags/...
  + users/...
- Application.kt <- Entry point

Contribute

If you want to contribute to this project, you're always welcome!

Contact

If you need any help, feel free to contact me: kenan.karic@outlook.com.

License

License