https://github.com/yusuf0405/friend-sync-server
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.
https://github.com/yusuf0405/friend-sync-server
hikari jwt jwt-authentication koin kotlin ktor-client ktor-server netty postgres serialization
Last synced: 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/yusuf0405/friend-sync-server
- Owner: yusuf0405
- Created: 2023-06-08T10:30:02.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2025-01-20T19:58:37.000Z (5 months ago)
- Last Synced: 2025-02-16T09:29:30.800Z (4 months ago)
- Topics: hikari, jwt, jwt-authentication, koin, kotlin, ktor-client, ktor-server, netty, postgres, serialization
- Language: Kotlin
- Homepage:
- Size: 151 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Ktor Social Network Server
## Overview
* This project is a backend server for [a social network application](https://github.com/yusuf0405/kmp-friend-sync), built using Ktor. It provides essential
functionalities such as authentication, user management, posts, likes, subscriptions, comments, and categories.## Features
* 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.## Dependencies
### Database:
* 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)### Ktor Server:
* 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)### Authentication:
* Ktor Auth (io.ktor:ktor-server-auth-jvm)
* JWT Authentication (io.ktor:ktor-server-auth-jwt-jvm)### Logging:
* Logback (ch.qos.logback:logback-classic)### Dependency Injection:
* Koin (io.insert-koin:koin-ktor)