Skip to content

vishalsiingh/E-Commerce-Springboot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›’ E-commerce Web Application (Java + Spring Boot)

This is a full-stack E-commerce application built with Java, Spring Boot, Spring MVC, JDBC, and MySQL. It allows users to browse products, add them to a cart, and place orders. Admins can manage products and view orders.


πŸ”§ Technologies Used

  • Java
  • Spring Boot
  • Spring MVC
  • JDBC
  • MySQL
  • HTML/CSS/JavaScript
  • Eclipse IDE
  • Apache Tomcat
  • Maven

πŸ’‘ Features

πŸ‘₯ User Module:

  • User registration and login (Spring Security or session-based auth)
  • Product browsing and search
  • Add to cart
  • Checkout and place order
  • Order history view

πŸ” Admin Module:

  • Admin login
  • Add/Edit/Delete products
  • View all orders
  • Manage inventory

πŸ—ƒοΈ Database

  • MySQL schema with tables for Users, Products, Cart, and Orders.
  • Use schema.sql and data.sql to bootstrap the database.

New Version ( what's new)

  • Hibernate configuration added( database and tables automatically create when run the project)
  • Service classes provide reusable services throughout project
  • dao classes interact with database
  • bug fixed ( product image, security , etc..)
  • support in both eclipse & intellij ide
  • overall redesign entire code that help reusability.
  • disclaimer: currently working on this branch so there may be some bug related to endpoint, and working on cart logic.

Quickstart

  1. Clone the repository
  2. Open the project in your IDE: IntelliJ IDEA (recommended) or Eclipse
    • If you are using IntelliJ IDEA, make sure the IDE opens project as Maven and recognizes the project as a Spring Boot project. Also, you must change the working directory of the project so that the views (the actual web pages to be shown) are found by Spring Boot (check out Web Directories IntelliJ IDEA.
  3. Make sure you are in the JtProject directory
  4. Configure the database connection in application.properties file (check the Database section below for more info)
  5. Run the project (by running the main method in JtSpringProjectApplication.java)
  6. Open http://localhost:8080/ in your browser!
    • If you ran the basedata.sqlscript on the database, you can log in with the following credentials as admin; otherwise you'll have to manually create an admin user in the database:
      • Username: admin
      • Password: 123
    • Log in as a normal user:
      • Username: lisa
      • Password: 765

Database

MySQL or MariaDB can be used as the database for this project. The database connection can be configured in the src/main/resources/application.properties file, with the appropriate values for the following properties:

( You'd better use another username not root, and ensure that the user has the corresponding permissions for the database. )

    db.url=jdbc:mysql://[ip address of db]:[port of db]/ecommjava?createDatabaseIfNotExist=true
    db.username=[username]
    db.password=[password, if any]

if you met the error java.lang.IllegalArgumentException: Could not resolve placeholder 'db.driver' in value "${db.driver}", maybe you should change your mysql-connector-java version in pom.xml file according to your mysql version, don't forget to reload your Maven project.

Having done that, you must create some base data in the database. You can do that by running the basedata.sql script on the database. Check out Google for how to do that, because it depends on what tool you are using to access said database.

Web Directories

The views are located in src/main/webapp/views, but for some reason, Spring Boot doesn't recognize that directory. To remedy this, you must change the working directory of the project in your IDE. If you're using IntelliJ IDEA, follow these steps:

  1. Click on the "Edit Configurations..." button in the top right corner of the IDE
  2. Click on the JtSpringProjectApplication configuration
  3. Change the "Working directory" option (if not present, click on "Modify Options" and select from the list) to the $MODULE_WORKING_DIR$ macro
  4. Click "Apply" and "OK"

When you run the project, the views should be found by Spring Boot and you should see a login page in http://localhost:8080/ (if not logged in previously)! configurations

Workflow

  • ![image](WhatsApp Image 2025-05-01 at 00 19 36_ba1bc418 )

Controller

  • control the endpoint and also send data to view( we use ModelAndView method)
  •   public String adminlogin() {
      	
      	return "adminlogin";
      }```
    
  • whenever /login url is hit , src->main->webapp-> adminlogin.jsp file execute

Models

  • represent data as entity and relationship among them.

View

  • receive data from controller and show with frontend.

Endpoints

Spring Boot

For any information about Spring Boot, here are some useful links!

Reference Documentation

For further reference, please consider the following sections:

Guides

The following guides illustrate how to use some features concretely:

Preview

image image image Screenshot 2025-05-01 001017 Screenshot 2025-05-01 000952 Screenshot 2025-05-01 000939

🏁 Future Improvements

  • Add payment gateway (e.g., Razorpay, Stripe)
  • Add unit & integration testing
  • Migrate frontend to React or Angular
  • Deploy to cloud (Heroku, AWS)

πŸ§‘β€πŸ’» Author

Vishal Singh Kashyap
B.Tech CSE | Full Stack Developer | Java & Spring Enthusiast

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages