melsayed10 / ktor-E-Commerce

Ktor ecommerce api developed by ktor backend framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ktor-E-Commerce Backend for Api

Ktor Kotlin GitHub license License

Ktor-E-Commerce built with ktor for e-commerce api development.

Swagger View

Main Features

  • Role Management(Admin, Seller, User)
  • Login
  • Registration
  • Shop Registration
  • Product Category
  • Product Subcategory
  • Brand
  • Cart
  • Order

Architecture

MVC (Model - View - Controller)

Built With 🛠

  • Ktor - Ktor is a framework to easily build connected applications – web applications, HTTP services, mobile and browser applications. Modern connected applications need to be asynchronous to provide the best experience to users, and Kotlin coroutines provide awesome facilities to do it in an easy and straightforward way.
  • Exposed - Exposed is a lightweight SQL library on top of JDBC driver for Kotlin language. Exposed has two flavors of database access: typesafe SQL wrapping DSL and lightweight Data Access Objects (DAO).
  • PostgreSQL - PostgreSQL is a powerful, open source object-relational database system that uses and extends the SQL language combined with many features that safely store and scale the most complicated data workloads.
  • Kotlinx-datetime - A multiplatform Kotlin library for working with date and time.
  • Bcrypt - A Java standalone implementation of the bcrypt password hash function. Based on the Blowfish cipher it is the default password hash algorithm for OpenBSD and other systems including some Linux distributions.
  • Apache Commons Email - Apache Commons Email aims to provide an API for sending email. It is built on top of the JavaMail API, which it aims to simplify.
  • Ktor OpenAPI/Swagger - The Ktor OpenAPI Generator is a library to automatically generate the descriptor as you route your ktor application.
  • Valiktor - Valiktor is a type-safe, powerful and extensible fluent DSL to validate objects in Kotlin

Requirements

How to run

  • git clone git@github.com:piashcse/ktor-E-Commerce.git
  • Create a db in postgreSQL
  • Replace you db name in dataSource.databaseName=ktor-1.0.0 instread of ktor-1.0.0 in hikari.properties from resource folder
  • run fun main() from application class

👨 Developed By

Mehedi Hassan Piash

Twitter Web Medium Linkedin

License

Copyright 2023 piashcse (Mehedi Hassan Piash)

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

Ktor ecommerce api developed by ktor backend framework


Languages

Language:Kotlin 99.9%Language:FreeMarker 0.0%Language:Procfile 0.0%