Tiny-disk is a resource storage service designed to efficiently manage file and text uploads and storage. It is built in Scala leveraging the functional programming capabilities provided by Cats-Effect, the expressive HTTP endpoint definitions of Tapir, and the database access with Doobie.
- Scala: The project is written in Scala, providing a strong type system and functional programming features.
- Cats-Effect: For managing side effects in a purely functional way.
- Tapir: Used to declare HTTP endpoints in a type-safe manner.
- Doobie: A pure functional JDBC layer for database access.
- Scala 2.13.x
- SBT (Scala Build Tool)
- Cats Effect 3.x
- Tapir 1.10.x
- Doobie 1.0.x
- PostgreSQL
-
Clone the repository:
git clone https://github.com/fedorbondarev/tiny-disk.git cd tiny-disk
-
Set Up Database:
- Install PostgreSQL.
- Create a new database for Tiny-disk.
- Configure the database connection in application.conf.
-
Build and Run:
sbt run
-
API Documentation:
Once the server is running, you can access the API documentation by navigating to http://localhost:8080/docs.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Fedor Bondarev – @fedorbondarev – [email protected]