NotesApp is a project which demonstrates the power of Kotlin's Ktor in developing powerful REST APIs with all basic as well as advanced features.

Overview

NotesApp

NotesApp is a project which demonstrates the power of Kotlin's Ktor in developing powerful REST APIs with all basic as well as advanced features.

Project is live at Heroku Link.

Status: 🚧 In progress 🚧

Requirements

  1. IntelliJ Idea

Architecture

Ktor Controller (http) -> Route (business) -> Repository (data)

Features

  1. Create Notes
  2. Update Notes
  3. Fetch Notes
  4. Delete Notes
  5. JWT Authentication
  6. Ktorm ORM for DB + Postgress
  7. Dependency Injection using Koin
  8. Automatic and easy deployment to Heroku

Coming soon -:

  1. Pagination
  2. Sorting results using parameters
  3. Unit Testing
  4. Middlewares for Validations
  5. Searching

Installation

Use IntelliJ IDEA, community or enterprise edition to open the project and follow these steps to run the Application.

Notes -: Customise the application.conf file. Fill your own secret, audience, issuer, realm to configure the JWT. Similarly,specify your port and host inside the application.conf file in which you want to run the server. Also mention you database connection string in key jdbc_db_url

You can use whatever db you are comfortable in MySql, Postgres.

Usage

Notes API

  1. Create a new note
POST http://host:port/note
Content-Type: application/json

{
  "note": "your-note",
}
  1. Fetch all notes
GET http://host:port/notes
  1. Fetch a particular note
GET http://host:port/notes/{id}
  1. Delete a particular note
DELETE http://host:port/notes/{id}
  1. Update a particular note
PUT http://host:port/notes/{id}

Onboarding

  1. Register
POST http://host:port/register
Content-Type: application/json

{
  "username": "username",
  "password": "password"
}
  1. Login
POST http://host:port/login
Content-Type: application/json

{
  "username": "username",
  "password": "password"
}

Multipart

  1. Open
GET http://host:port/open
  1. Download
GET http://host:port/download
You might also like...
This is a template repository intended to get a quick up and running project for demonstration purposes.

Android App Template This is a GitHub template repository intended to kickstart development on an Android application. This project comes set with a h

A Project suggested by the Android Basics Course

Dogglers - Starter Code Starter code for the second independent project for Android Basics in Kotlin. Introduction This is the starter code for the Do

An Android project template with MVVM, Hilt, Navigation and Compose
An Android project template with MVVM, Hilt, Navigation and Compose

compose-android-template An Android project template with MVVM, Hilt, Navigation and Compose 🔴 Status UNDER ACTIVE DEVELOPMENT 📄 Terminologies Termi

Starter code for the first independent project for Android Basics in Kotlin

Project: Lemonade App - Starter Code Starter code for the first independent project for Android Basics in Kotlin Introduction This is the starter code

Starter code for the second independent project for Android Basics in Kotlin.

Dogglers - Starter Code Starter code for the second independent project for Android Basics in Kotlin. Introduction This is the starter code for the Do

A simple project used for converting currencies

MyCurrencyConverter A simple project used for converting currencies. This project is divided into 2 parts (branches): master - without Dagger Hilt dev

Starter code for the second independent project for Android Basics in Kotlin

Dogglers - Starter Code Starter code for the second independent project for Android Basics in Kotlin. Introduction This is the starter code for the Do

Starter code for the third independent project for Android Basics in Kotlin

Lunch Tray - Starter Code Starter code for the third independent project for Android Basics in Kotlin Introduction This is the starter code for the Lu

Small project on using Room + MVVM + data binding

healthinfo This is a demo project that utilizes Room Database, MVVM, Data binding, Repositories, Retrofit and more to build an app that reads content

Owner
Rooparsh Kalia
Software Engineer | Application Developer Trying to swim in the ocean of technology
Rooparsh Kalia
LoadApp This is my submission for the "Building an Advanced Android App"

LoadApp This is my submission for the "Building an Advanced Android App" project of the Udacity Android Kotlin Developer nanodegree. (C) Jaldhar H. Vy

Jaldhar H. Vyas 1 Oct 7, 2021
Quarkus Sample Application with extensions cache, kotlin, rest client, resteasy and smallrye

quarkus-sample Project This project uses Quarkus, the Supersonic Subatomic Java Framework. If you want to learn more about Quarkus, please visit its w

Erdem Aydın 1 Sep 25, 2022
REST API with Retrofit, SQLite with Room, Hilt, MVVM, Jetpack Compose

Simple REST API Learn how to make an Android App that will call a REST API using Retrofit to retrieve some data that will be stored in SQLite using Ro

Yayo Arellano 26 Dec 23, 2022
A set of APIs to manipulate graphics paths on Android

Pathway Pathway is an Android library that provides new functionalities around the graphics Path API. Pathway is compatible with API 21+. Maven reposi

Romain Guy 147 Dec 17, 2022
Learn How to use Google Map API for Android from Basic to Advance with complete examples.

Complete-Google-Map-API-Tutorial Learn How to use Google Map API for Android from Basic to Advance. Satellite View 3D Building Map and StreetView Lear

Next 117 Dec 8, 2022
This application features - Modern Minimalistic Design, MVVM, Pagination, Hilt, Retrofit, Room, Data Store, Flow, Live Data, Navigation Component (Clean Architecture)

NewsFly NewsFly is a modern news android application which features virtually ALL recent and recommended android development tech stack and tools used

Ibrahim 121 Nov 4, 2022
This is a simple application through which I connected Students, Courses and Teachers in an a beautiful way. The main purpose of this project is the connection between the Objects.

UniversityApp This is a simple application through which I connected Students, Courses and Teachers in an a beautiful way. The main purpose of this pr

Anas Khalil 3 Aug 21, 2021
This is An Android Project. in which we use SqLite Database. We perform Insert,delete,update and Show The existing data. operations using SqLite.

SqLite Database Keywords : SqLite, Android, Database This is An Android Project. in which we use SqLite Database. We perform Insert,delete,update and

Rudra_deep 1 Nov 7, 2021
A simple android sound recorder which let's users record audio and listen to it

Android-Sound-Recorder A simple android sound recorder which let's users record audio and listen to it. Getting started To get started just clone or f

Nisa Jamalia Nurhayati 0 Nov 4, 2021
Example Android library project that works with jitpack.io

android-example Example Android library project that works with jitpack.io. See this Tutorial on how to publish an Android Library with JitPack. For m

Denys Denysenko 0 Dec 20, 2021