explaingit

sunjulei/warehouse

14JavaAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

A browser-based inventory management app for small businesses, track purchases, sales, returns, and stock levels, with real-time dashboards and profit reports. Built to be self-hosted by warehouse staff with role-based access control.

Mindmap

mindmap
  root((repo))
    What it does
      Purchase recording
      Sales tracking
      Return handling
      Stock alerts
    Tech Stack
      Spring Boot Java
      Vue 3 TypeScript
      MySQL
      ECharts
    Reports
      Trend charts
      Product breakdown
      Profit analysis
    User Management
      Roles
      Departments
      Menu access
    Setup
      Docker Compose
      Java 21 Maven
      MySQL required
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run a browser-based inventory system for a small shop, tracking goods coming in from suppliers and going out to customers.

USE CASE 2

Generate profit reports comparing sales revenue to purchase costs to see which products make money.

USE CASE 3

Set up role-based access so different staff only see the menus they need.

USE CASE 4

Start the full stack with one Docker Compose command rather than installing each component separately.

Tech stack

JavaSpring BootVue 3TypeScriptMySQLEChartsDockerMaven

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Java 21 and Maven plus a running MySQL instance, or Docker and Compose to start the full stack together.

MIT licensed with a note that direct resale of the software is not permitted, free to use, study, and modify for personal or learning purposes.

In plain English

This is a warehouse inventory management system built for small businesses, covering purchasing, sales, returns, and stock tracking. The README is written in Chinese. The system is split into a backend server and a browser-based frontend, which communicate over an API rather than being bundled together. The backend is built with Spring Boot (Java 21) and stores data in a MySQL database. The frontend uses Vue 3 with TypeScript, and displays charts through ECharts. Together they provide a web application that warehouse staff open in a browser to manage day-to-day operations: recording goods coming in from suppliers, recording goods going out to customers, handling return transactions, and checking current stock levels. A real-time dashboard on the home screen shows total product count, low-stock alerts, and today's purchasing and sales summary. There are three built-in report types: a purchase and sales amount trend chart, a product-level breakdown of what moved in and out, and a profit analysis that compares sales revenue against purchase cost to calculate gross margin. All reports can be filtered by today, this week, this month, this quarter, this year, or a custom date range. The system also includes user and permission management, letting administrators define roles, departments, and menu access for different staff members. Customer records and supplier records are maintained separately. A recent addition (v1.2, May 2026) added support for walk-in retail sales, treating one-off customers without an account as a special case. Setup requires Java 21, Maven, MySQL, and Node.js. The README provides commands to initialize the database, start the backend, and run the frontend dev server. A Docker configuration is also included, allowing the full stack (backend, frontend with Nginx, and MySQL) to be started together with a single compose command. The project is MIT licensed, with a note that free use, learning, and modification are permitted but direct resale of the software is not.

Copy-paste prompts

Prompt 1
Help me set up sunjulei/warehouse locally using Docker Compose. Walk me through initializing the MySQL database, starting the containers, and opening the browser frontend.
Prompt 2
I want to add a new report to sunjulei/warehouse showing monthly stock turnover. Where in the Vue 3 frontend do I add the chart, and what Spring Boot API endpoint do I need?
Prompt 3
How do I create a user role in sunjulei/warehouse that can view reports but cannot record purchase or sales transactions? Show me where the permission logic lives.
Prompt 4
I forked sunjulei/warehouse and want to add barcode scanning for products. Which Spring Boot controller and Vue 3 component should I modify first?
Prompt 5
How does sunjulei/warehouse calculate gross margin in its profit report? Walk me through the backend logic and the ECharts config for the chart.
Open on GitHub → Explain another repo

← sunjulei on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.