English Document 中文文档 日本語文書 한국어 문서 Documentation française Deutsche Dokumentation Documentación en español
This is my TypeScript full-stack best practice project. It allows direct database operations from the frontend without writing backend API code after defining data models, enabling rapid MVP development.
I'm really fed up with traditional admin panels, I never want to write them again.
Project Online AI Documentation
-
Backend
- Tech stack: TypeScript + Prisma + ZenStack + Effect + Fastify
- ZenStack (enhanced solution based on Prisma) for database modeling and Row Level Security.
-
Bridge
- Tech stack: TypeScript + SuperJSON + self-developed RPC library
- Frontend directly calls backend APIs with complete TypeScript type hints, no need to write middleware code.
- SuperJSON supports complex object serialization and deserialization, such as Date, Map, Set, RegExp..., ensuring Prisma input parameters and return results can be seamlessly passed.
-
Frontend
- Tech stack: TypeScript + Vue 3 + Tailwind CSS + PrimeVue component library
- Perfect i18n internationalization support, ensuring every detail supports dynamic language switching without page reload.
- Light/dark theme switching, components and Tailwind CSS support dynamic switching simultaneously.
- Some implemented feature pages
- Prisma Studio-like admin panel (to some extent can serve as an open-source alternative), no longer need to write cookie-cutter CRUD pages.
- NoteCalc A Chinese-friendly real-time calculation notebook
- AiEnglish Progressive English learning while reading
Other Application Demos
- Browser Extension - InfoFlow
- Built based on https://wxt.dev/guide/installation.html to demonstrate how to use tsfullstack as backend support for browser extensions.
- Clone the project
- Install dependencies: Enter the backend directory and run
pnpm ito install dependencies (ignore error: Failed to resolve entry for package "@tsfullstack/backend", we will generate this package in subsequent steps) - Initialize database: In the backend directory, run
pnpm zenstack generateandpnpm prisma migrate dev - Compile @tsfullstack/backend API package: In the backend directory, run
pnpm build:lib(there will be some type errors, I haven't found a good solution yet, but it doesn't affect usage, just ignore it) - Start backend service: In the backend directory, run
pnpm dev - Start frontend service: In the website-frontend directory, run
pnpm dev
- Project Base
- apps/website-frontend is the frontend base project
- apps/backend is the backend base project
- Modular Frontend and Backend Project Code
- modules/*
- Frontend code within modules can directly reference backend code interfaces within the module