- This project is a backend server for a social network application, built using Ktor. It provides essential functionalities such as authentication, user management, posts, likes, subscriptions, comments, and categories.
- Authentication: User login and registration with JWT authentication.
- Users: Retrieve and manage user profiles.
- Posts: Create, read, update, and delete posts.
- Likes: Like/unlike posts.
- Subscriptions: Follow/unfollow users.
- Comments: Add and retrieve comments on posts.
- Categories: Categorize posts into different topics.
- PostgreSQL (org.postgresql:postgresql)
- H2 Database (com.h2database:h2)
- Exposed ORM (org.jetbrains.exposed:exposed-core, org.jetbrains.exposed:exposed-jdbc)
- HikariCP for connection pooling (com.zaxxer:HikariCP)
- Netty server (io.ktor:ktor-server-netty-jvm)
- Core Ktor functionalities (io.ktor:ktor-server-core-jvm)
- Serialization (io.ktor:ktor-serialization-kotlinx-json-jvm)
- Content Negotiation (io.ktor:ktor-server-content-negotiation-jvm)
- Ktor Auth (io.ktor:ktor-server-auth-jvm)
- JWT Authentication (io.ktor:ktor-server-auth-jwt-jvm)
- Logback (ch.qos.logback:logback-classic)
- Koin (io.insert-koin:koin-ktor)