Skip to content

Joaquin144/DispatcherCart

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dispatcher Cart

Dispatcher Cart is a fully open-source eCommerce application that offers a wide range of products, including groceries, electronics, beauty products, fitness items, and much more. The application is designed to be user-friendly, scalable, and robust for online shopping needs.

DigitalOcean Referral Badge


🚀 Features

  • Wide Product Range: Shop for groceries, electronics, beauty, fitness, and more in one app.
  • Open Source: Completely free to use, modify, and contribute to.
  • Cloud Deployment: Hosted on DigitalOcean for high availability and scalability.
  • Modern UI/UX: Clean and intuitive interface for seamless navigation and shopping experience.
  • Secure Checkout: Safeguards user data with secure payment options.

🛠️ Tech Stack

  • Backend: Spring Boot (Java 17)
  • Frontend: Thymeleaf + HTML/CSS
  • Database: MySQL
  • Deployment: DigitalOcean Droplet
  • Build Tool: Maven

🌐 Live Demo

Check out the live application here: Dispatcher Cart Live
(Ubuntu 24.10 x64 | 1GB Memory | 10GB Disk | SGP1)


📥 Installation

Prerequisites

  • Java 17+
  • Maven or Gradle
  • MySQL or PostgreSQL
  • DigitalOcean Droplet (optional for deployment)

Steps

  1. Clone the repository:

    git clone https://github.com/Joaquin144/DispatcherCart.git
    cd dispatcher-cart
    
  2. Configure the database:

    • Update the application.properties file in the src/main/resources directory with your database credentials.
     spring.datasource.url=jdbc:mysql://localhost:8080/dispatcher_cart
     spring.datasource.username=your-username
     spring.datasource.password=your-password
  3. Build the project:

    mvn clean install
    
  4. Run the application:

    java -jar target/dispatcher-cart-0.0.1-SNAPSHOT.jar
    
  5. Access the application: Open your browser and visit http://localhost:8080.

📦 Deployment (DigitalOcean)

  1. Setup a DigitalOcean droplet. Min requirements: 1vCPU, 1GB Memory, 10 GB Disk, Cost around USD 6$ per month).

  2. Transfer the .jar file from local machine to server

    scp target/dispatcher-cart-0.0.1-SNAPSHOT.jar your-user@your-droplet-ip:/path/to/deployment
    
  3. SSH login into the server:

    ssh droplet-user@your-droplet-ip
    
  4. Run the application

    java -jar /path/to/deployment/dispatcher-cart-0.0.1-SNAPSHOT.jar
    
  5. Alternatively, if you want to run the server permanently then you might want to create a start.sh bash script.

    #!/bin/bash
    
    nohup java -jar /projects/dispatcher-cart-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod > /projects/log.txt 2>&1 &
    
    echo $! > /projects/pid.file
    • Use command to start service which won't be terminated when you close the SSH session.
    sudo ./start.sh
    

📸 DigitalOcean Screenshots

Below are some screenshots of the Dispatcher Cart deployed on a DigitalOcean Droplet:

1. Droplet Dashboard

Droplet Dashboard Droplet Dashboard Droplet Dashboard The dashboard showing the created droplet for hosting Dispatcher Cart.

2. Logs for Application Running on Droplet

App Running
Dispatcher Cart running live on the droplet.

3. Estimated bill for 1 droplet

SSH Terminal
The estimated bill on DigitalOcean for the aforementioned configuration

🌟 SignUp with DigitalOcean

Looking for a reliable cloud platform? Sign up for DigitalOcean through my referral link and get $200 in free credit (valid for 60 days)! 🚀

Why choose DigitalOcean?

  • Affordable Pricing: Perfect for developers and startups.
  • Easy Setup: Get your servers running in minutes with an intuitive interface.
  • High Performance: Reliable and scalable cloud solutions.

Start your cloud journey today and power up your projects with DigitalOcean! 💻

Profile

  • LinkedIn: Let's connect and network on LinkedIn.

  • GitHub: Check out my repositories and contributions on GitHub.

  • Gmail: Mail to me at my gmail id

  • Play Store: Explore my apps on the Play Store.

Releases

No releases published

Packages

No packages published