Skip to content

The REST API of the Wanderscope App. The backend is deployed to Heroku and ensures the functionality of organizing trips within groups. Created as the diploma thesis project @ FIT CTU in Prague ๐Ÿฅพ๐Ÿš€๐Ÿ–ฅ๏ธ

Notifications You must be signed in to change notification settings

hawklike/Wanderscope-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Wanderscope API

This diploma thesis deals with the development of a mobile application that provides users with an interface for group travel planning. The web service communicates with the mobile application using the REST architectural style and ensures the actual functionality of organizing and managing trips. In this work, the author describes step by step the various stages of development of both parts โ€“ the backend and the mobile application. The author also covers the design and implementation of user authentication accomplished by refreshing JWT tokens in this work. The output of this diploma thesis is a functional and user-tested mobile application that allows organizing trips in a group.

About ๐Ÿ’ก

Wanderscope is a mobile app that allows organizing trips with other travelers. Wanderscope will create an itinerary according to your plans, help you with splitting group expenses and save your travel documents.

Features ๐Ÿ‘“

  • Login with email (for now), change password, and forgot password features
  • Authorization using rotating JWT tokens (access and refresh tokens)
  • Invite to trip other travellers and manage each authority
  • Upload and download files (encrypted and key-protected)
  • Create or join trips, add points of interests
  • Split group expenses

Build with ๐Ÿ› ๏ธ

  • Ktor โ€“โ  Ktor is an asynchronous framework for creating microservices, web applications and more. Written in Kotlin from the ground up.
  • Exposed + PostgreSQL โ€“โ  Exposed is an ORM framework for Kotlin. Offers two levels of database access: typesafe SQL wrapping DSL and lightweight data access objects.
  • HikariCP โ€“โ  HikariCP is a "zero-overhead" production ready JDBC connection pool.
  • AWS-S3 โ€“โ  Amazon Simple Storage Service (Amazon S3) is an object storage service offering industry-leading scalability, data availability, security, and performance.
  • kotlinx.serialization โ€“โ  Kotlin serialization consists of a compiler plugin, that generates visitor code for serializable classes, runtime library with core serialization API and support libraries with various serialization formats.
  • Ktor Client โ€“โ  Ktor Client is a multiplatform asynchronous HTTP client.

Deployment โ˜๏ธ

Automatically deployed to Heroku using Github Actions. Runs in staging and production environment using Heroku pipelines.

About

The REST API of the Wanderscope App. The backend is deployed to Heroku and ensures the functionality of organizing trips within groups. Created as the diploma thesis project @ FIT CTU in Prague ๐Ÿฅพ๐Ÿš€๐Ÿ–ฅ๏ธ

Topics

Resources

Stars

Watchers

Forks