Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28,190 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

English | 简体中文

Vona

Warning

This Vona site is now a historical archive, not the current source of truth.

For the latest project source, ongoing development updates, and related guidance, visit https://github.com/cabloy/cabloy.

Vona is a fullstack framework for building SSR/SPA/Website/Admin in one codebase, featuring frontend and backend separation and native type sharing

  • Supports dual-layer tabs navigation, enabling efficient page switching while maintaining page state
  • Dynamically render CRUD list pages, entry pages, and search forms, while demonstrating best practices for Tanstack Table, Tanstack Form, and Tanstack Query
  • Dynamically infer and generate DTOs to eliminate redundant type definitions and boost development productivity

LICENSE MIT NPM version Test coverage NPM download

Fullstack Mechanism

Vona adopts a frontend-backend separation architecture. The frontend uses the Zova framework, and the built JS bundle is placed into the Vona backend for direct SSR rendering on the backend

Frontend-backend type sharing mechanism:

  • The backend generates Swagger/OpenAPI Schema for generating API SDK on the frontend
  • The frontend generates types for icons, routes, and components for providing type hints on the backend

Documentation

Demo Online

The Website and Admin of Cabloy Store are built by one codebase

GIF Demo

  • Dual-layer tabs navigation

Technology Stack

General

Name Version
pnpm >=10.19.0
Nodejs >=24.8.0
Typescript >=5.9.3

Backend(Vona)

Name Version
Koa >=3.0.0
Knex >=3.1.0
Zod >=4.1.13
Redis >=7.2.6
Sqlite3 builtin
MySQL >=8
Postgresql >=16
  • Redis: VonaJS provides the following capabilities based on Redis:
    • Queue, Schedule, Startup, Broadcast, Caching, Two-layer cache, and Redlock
  • Sqlite3: You need to set up the node-gyp environment in advance to ensure that better_sqlite3.node can be compiled properly when installing dependencies

Frontend(Zova)

Name Version
Vite >=8.0.0
Vue >=3.5.6
Vue Router >=4.4.5
Zod >=4.1.13
Tanstack Query >=5.92.5
Tanstack Form >=1.23.5
Tanstack Table >=8.21.3

UI Libraries

Zova can be used with any UI library and comes with built-in project templates for several UI libraries, making it easy to use out of the box

Name Version
Daisyui >=5.3.2
Tailwindcss >=4.1.14
Quasar >=2.18.1
Vuetify >=4.0.1

Stay In Touch

License

MIT

Copyright (c) 2016-present, Vona

About

Vona is a fullstack framework for building SSR/SPA/Website/Admin-Dashboard in one codebase, featuring frontend and backend separation and native type sharing

Topics

Resources

Stars

59 stars

Watchers

1 watching

Forks

Used by

Contributors

Languages