Flexi Store is an Ecommerce Application Server designed to provide a flexible and scalable backend for online stores.
Flexi Store is a server-side application designed to support ecommerce functionalities. It provides a robust backend system for managing users, categories, and products, facilitating the development of ecommerce platforms.
- User authentication and authorization
- CRUD operations for managing users, categories, and products
- Secure API endpoints for interacting with the server
- Flexible and scalable architecture for accommodating future enhancements
- Deployment on Heroku or Google.
- Enhancement to old Codebase.
To install Flexi Store Server locally, follow these steps:
-
Clone the repository:
git clone https://github.com/your-username/flexi-store-server.git
-
Navigate to the project directory:
cd flexi-store-server
-
Install dependencies:
./gradlew build
- Start the server:
./gradlew run
Remember you need to setup the Flexi-Store Server to use the Flexi-Store Applications. It's mandatory, otherwise it will not work at all. To Setup, you need to clone this on your local device. Open it in the Intellij IDEA.
After Cloning the project, You need to download the PG Admin 4
from there official website and install it. After Installing that, You need to create a data with any name. Now, open the Intellij IDEA where your cloning project is running, Click on Edit / Run Configuration > Environment Variables >
, here you need to add two values inside the variables. JDBC_DATABASE_URL= jdbc:postgresql:databaseName?user=postgres&password=yourpass
& JDBC_DRIVER= org.postgresql.Driver
. After Adding these into your Environment Variables, You are good to go. To Use this Server inside your Application Locally, You need to simply get the local ip. For that you need to Terminal
or Command Prompt
. Get the Local IP and replace the base URL kotlin/utils/Constant.kt
& URL http://your_ip:8080/
. If you still gets any error, Please create an issue here.
Flexi-Store is developed using Ktor and is mandatory for the backend of the Flexi-Store-KMP. You can find the Flexi-Store-KMP repository here.
GET /v1/users
Parameter | Type | Description |
---|---|---|
api_key |
string |
Not Required. Your API key |
GET /v1/users/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Id of item to fetch |
POST /v1/users
GET /v1/login
DELETE /v1/users/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Id of users to delete data |
PUT /v1/users/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Id of users to update data |
POST /v1/categories
Parameter | Type | Description |
---|---|---|
api-key |
string |
Not Required. api-key for authentication |
GET /v1/categories
Parameter | Type | Description |
---|---|---|
api-key |
string |
Not Required. api-key for authentication |
GET /v1/categories/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Id of Category |
DELETE /v1/categories/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Id of Category |
PUT /v1/categories/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. Id of Category |
POST /v1/products
Parameter | Type | Description |
---|---|---|
api-key |
string |
Required. api-key for Authentication |
GET /v1/products/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. id for products |
DELETE /v1/products/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. id for products |
PUT /v1/products/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. id for products |
POST /v1/promotions
Parameter | Type | Description |
---|---|---|
api-key |
string |
Required. api-key for Authentication |
GET /v1/promotions
Parameter | Type | Description |
---|---|---|
api-key |
string |
Required. api-key for Authentication |
GET /v1/promotions/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. id for promotion |
DELETE /v1/promotions/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. id for promotion |
PUT /v1/promotions/{id}
Parameter | Type | Description |
---|---|---|
id |
string |
Required. id for promotion |
Stargazers
Forkers
Contributions are welcome! Please check the CONTRIBUTING.md file for guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.