Ktor-E-Commerce built with ktor for e-commerce api development.
- Role Management(Admin, Seller, User)
- Login
- Registration
- Shop Registration
- Product Category
- Product Subcategory
- Brand
- Cart
- Order
MVC (Model - View - Controller)
- 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
- JAVA 11 (or latest)
- PostgreSQL (latest)
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
Mehedi Hassan Piash
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.