Skip to content

This repository hosts a SpringBoot Angular Keycloak MySQL E-commerce web app tailored for an online bookstore, integrating Springboot backend services with Angular for frontend, Keycloak for authentication, and MySQL for data storage.

Notifications You must be signed in to change notification settings

jhenals/ecommerce-backend-springboot-v1-IT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ecommerce Web Application with Springboot, Angular, Keycloak, and MySQL

Overview

This repository contains the backend source code for an E-commerce web application built using SpringBoot for the backend, Angular for the frontend, Keycloak for authentication and authorization, and MySQL for the database. The application is specifically tailored for an online bookstore.

Features

  • User Authentication: Utilizes Keycloak for secure user authentication and authorization.
  • Product Management: Allows administrators to manage products, including adding, updating, and deleting products.
  • Shopping Cart: Users can browse products, add them to a shopping cart, and proceed to checkout.
  • Order Management: Supports order creation, tracking, and history for users.
  • RESTful APIs: Backend services are exposed via RESTful APIs, providing flexibility for future enhancements or integrations.

Technologies Used

  • SpringBoot: Java-based framework for building backend services.
  • Angular: TypeScript-based framework for building dynamic web applications.
  • Keycloak: Open-source Identity and Access Management solution for securing applications and services.
  • MySQL: Relational database management system for data storage.
  • Angular Material: Material Design components for Angular applications.
  • Bootstrap: Frontend framework for responsive design.

Features Images

Homepage: image

Book Catalog: image

Special Offers: image

Best Selling Books: image

Login/Registration Page image

Cart: image

Checkout Form: image

User's Order History: image

Admin Dashboard- Manage products: image

Admin Dashboard - Manage clients: image

Admin Dashboard - Manage Orders: image

Searchbar: image

Prerequisites

Before running the application, ensure you have the following installed:

  • Java Development Kit (JDK)
  • Node.js and npm
  • Angular CLI
  • MySQL Server
  • Keycloak Server

Installation

  1. Clone the frontend repository:

    git clone https://github.com/jhenals/ecommerce-frontend-angular-v1.git
  2. Clone the backend repository:

 git clone https://github.com/jhenals/ecommerce-backend-springboot-v1.git
  1. Navigate to the backend directory and run the SpringBoot application:

    cd <YOUR_PATH>\ecommerce-backend
    ./mvnw spring-boot:run
  2. Navigate to the frontend directory and install dependencies:

    cd <YOUR_PATH>\ecommerce-frontend
    npm install
  3. Run the Angular application:

    npm start
  4. Navigate to Keycloak directory and run Keycloak Server:

    cd <YOUR_PATH>\bin
    kc.bat start-dev
  5. Access the application in your web browser at http://localhost:4200.

Configuration

  1. Configure MySQL database connection settings and Keycloak settings in application.properties file located in the backend/src/main/resources directory.

  2. Configure Keycloak settings in the Angular environment files located in the ecommerce-frontend\environment.ts file.

Usage

  • Visit http://localhost:4200 in your web browser to access the application.
  • Use the provided login interface to authenticate. You can use the default admin credentials for testing or create a new account.
  • Navigate through the bookstore, add products to your cart, and complete the checkout process.

About

This repository hosts a SpringBoot Angular Keycloak MySQL E-commerce web app tailored for an online bookstore, integrating Springboot backend services with Angular for frontend, Keycloak for authentication, and MySQL for data storage.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages