Skip to content

sofn/ArchSmith

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

184 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArchSmith

Modern enterprise admin platform built with Spring Boot 4 + Vue 3

Documentation · Frontend Repo · 中文

Java 25 Spring Boot 4 Vue 3 Vite 8 MIT


What is ArchSmith?

ArchSmith is a production-ready, full-stack admin platform that combines a Spring Boot 4 backend with a Vue 3 frontend. It provides complete user/role/menu/department management, file upload/download, server monitoring, JWT authentication, and more — all with clean architecture and modern tooling.

Why ArchSmith? Most similar projects (RuoYi, JeecgBoot) are still on Spring Boot 2.x/3.x. ArchSmith uses Spring Boot 4 + Java 25 virtual threads + Native Image, delivering ~100ms startup time and ~50MB memory footprint.

Features

Category Details
Auth JWT + refresh token, Spring Security, BCrypt password, configurable captcha
RBAC Users, roles, menus, departments, button-level permissions
System Config management, notice/announcements, operation & login logs
File Storage Upload/download with local filesystem and S3 (MinIO) backends, configurable via YAML
Monitor Real-time CPU/memory/JVM/disk monitoring (Oshi), embedded Swagger UI
Database PostgreSQL, multi-datasource with read/write split, Flyway migration
Deploy Docker Compose (Leyden JVM + Native Image), Nginx reverse proxy
Frontend vue-pure-admin, Element Plus, TailwindCSS, Pinia, dynamic routing

Quick Start

Prerequisites

  • Java 25, Node.js 20+, pnpm 9+, Docker (for Testcontainers)

1. Clone

git clone https://github.com/sofn/ArchSmith.git
git clone https://github.com/sofn/ArchSmithAdmin.git

2. Start Backend

cd ArchSmith
JAVA_HOME=/path/to/jdk25 ./gradlew server-admin:bootRun

Dev profile auto-starts PostgreSQL, Redis, and MinIO via Testcontainers. No manual DB setup needed.

3. Start Frontend

cd ArchSmithAdmin
pnpm install && pnpm dev

4. Open Browser

Visit http://localhost:8848 and login with admin / admin123.

Docker (Alternative)

cd ArchSmith/docker
./start.sh          # JVM mode (default, Project Leyden CDS)
./start.sh native   # Native Image mode (Liberica NIK 25)

Project Structure

ArchSmith (Backend)
├── common/              # Shared utilities & error handling
├── infrastructure/      # Auth, filters, file storage, response wrapper
├── domain/admin-user/   # Domain entities & business logic
├── server-admin/        # Web layer & Spring Boot app
├── dependencies/        # Centralized version management
└── docker/              # Docker & deployment configs
    ├── jvm/             # Leyden CDS optimized Dockerfile
    └── native/          # Liberica NIK 25 native Dockerfile

ArchSmithAdmin (Frontend)
├── src/api/             # API definitions
├── src/views/system/    # System management pages
├── src/views/monitor/   # Monitoring pages
├── src/store/           # Pinia stores
└── src/router/          # Dynamic routing

Tech Stack

Layer Technology
Backend Java 25, Spring Boot 4.0.5, Spring Security, Spring Data JPA, QueryDSL
Frontend Vue 3.5, Vite 8, TypeScript 6, Element Plus, TailwindCSS 4
Database PostgreSQL 17 (Testcontainers in dev), Redis, Flyway
File Storage Local filesystem, AWS S3 / MinIO (Testcontainers in dev)
Monitoring Oshi, SpringDoc OpenAPI, Micrometer + OpenTelemetry
Build Gradle 9.4.1, pnpm, Docker, Project Leyden, Liberica NIK 25
Testing JUnit 6, Spock 2.4, RestClient, Testcontainers

Documentation

Full documentation: archsmith.lesofn.com

License

MIT

About

服务端快速开发框架

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages