
* Setup Docsify docs * Add noty API info docs for setting up locally * Create doc for deployment and steps * Add steps for deployment using GH Actions * Setup docs for android * Finalize docs * Reset Procfile
2.2 KiB
Noty REST API
-
This is a backend REST API developed using Ktor framework.
-
It uses PostgreSQL as database to store and retrieve data.
-
It's deployed on Heroku to publicly expose API.
👓 Features of Codebase
-
Simple structure
-
JWT Authentication
-
Automatic deployment to Heroku using GitHub Actions CI.
-
Tests
📙 Overview of Codebase
This is Gradle based multi-module project which is basically a server application.
It include two modules:
Data
The data module consist all data related operations which interacts with data layer of the application i.e. PostgreSQL. It include database Entities and Tables of JetBrains Exposed framework (ORM) and DAO classes for data operations.
You can take a look at package here.
Application
This is the main entry-point of the server application which is exposed to be accessed from a URL. It includes all the handling of routes, authentication, etc.
You can take a look at source here.
application.conf
file contain the information about the application like main module to run, environment configuration, port, etc.
🛠 Built with
-
Ktor - Ktor is an asynchronous framework for creating microservices, web applications, and more. It’s fun, free, and open source.
-
Exposed - An ORM/SQL framework for Kotlin.
-
PostgreSQL JDBC Driver - JDBC Database driver for PostgreSQL.
-
Testcontainer - Testcontainers is a Java library that supports JUnit tests, providing lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.
-
Kotest - Kotest is a flexible and comprehensive testing project for Kotlin with multiplatform support.