Skip to content

kudzaiprichard/spring-ecommerce-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Logo

Ecommerce Backend Api

An basic ecommerce restful api backend


Table of Contents
  1. About The Project
  2. Getting Started
  3. License
  4. Contact
  5. Acknowledgments

About The Project

Project Scope

To manage catalogued products, register purchases and manage a users relationship with an online retailer. to enable you to have a fully functioning online store where customers can purchase your products and services. allows sellers to manage virtual assets, digital sales, and marketing in one central platform

  • Should allow users customers and sellers to create accounts and manage there accounts
  • Customer can view listed products and can filter through this list of different products
  • Customer must then be able to checkout and purchase there products using different payment gateways

Project Design

Architecture

System uses REST API Architecture. REST stands for Representational State Transfer Application Programming Interface, is a popular architectural style for designing networked applications. It allows different software systems to communicate with each other by exchanging data over the internet, typically using the HTTP protocol.

architecture Diagram

This will architecture is scalable, flexible and lightweight and allows for other third party software, mobile, web written in different languages to easily integrate with our services

Endpoit Design

Below is a screenshot of the project restful api endpoints and the HTTP Method supported by each endpoint

endpoints

UML Diagram

System uses a NOSQL mongodb database schemer. Which includes the following models:

Cart

  • Cart
  • CartItem

Product

  • Category
  • Image
  • Product

Order

  • Order
  • OrderStatus

User and Authentication

  • Permission
  • Role
  • Token
  • TokenType
  • User

Built With

Used Java spring boot , MongoDB and Jason Web Token to build the rest api, including postman for testing.

spring mysql jwt spring

(back to top)

Getting Started

Prerequisites

You should have the below softawares installed in your pc :

  • JDK 21 and JRE
  • MongoDB
  • and your preferred IDE or text editor

Installation

  1. Get a free API Key at https://github.com/settings/tokens

  2. Clone the repo

    git clone https://github.com/kudzaiprichard/spring-ecommerce-api
  3. Open project in IDE or text editor

  4. let maven download all necessary dependency for the project to run

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

🔥 Contribution

Your contributions are always welcome and appreciated. Following are the things you can do to contribute to this project.

  1. Report a bug
    If you think you have encountered a bug, and I should know about it, feel free to report it here and I will take care of it.

  2. Request a feature
    You can also request for a feature here, and if it will viable, it will be picked for development.

  3. Create a pull request
    It can't get better than this, your pull request will be appreciated by the community. You can get started by picking up any open issues from here and make a pull request.

If you are new to open-source, make sure to check read more about it here and learn more about creating a pull request here.

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Kudzai P Matizirofa - linkedin.com/in/kudzai-prichard - [email protected]

Project Link: https://github.com/kudzaiprichard/spring-ecommerce-api

(back to top)

Acknowledgments

list of resources I found helpful and would like to give credit to.

(back to top)