/E-commerce-project-springBoot

This project serves as an easy-to-understand setup for beginners , providing a base foundation in Spring Boot , MVC & hibernate.

Primary LanguageJavaMIT LicenseMIT

Old Version

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

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

Link

  • π—¬π—Όπ˜‚π˜π˜‚π—―π—² π—½π—Ώπ—Όπ—·π—²π—°π˜ π˜ƒπ—Άπ—±π—²π—Ό π—ͺ𝗼𝗿𝗸𝗢𝗻𝗴 𝗗𝗲𝗺𝗼 + π˜€π˜π—²π—½ π—―π˜† π˜€π˜π—²π—½ π—²π˜…π—²π—°π˜‚π˜π—Άπ—Όπ—» 𝗹𝗢𝗻𝗸 ( old version )::--- click here youtube