English Document 中文文档 Documentación en Español 日本語ドキュメント 한국어 문서 Documentation française Deutsche Dokumentation
Este es mi proyecto de mejores prácticas para full-stack con TypeScript. Permite operar directamente la base de datos desde el frontend sin escribir código de API del backend después de definir los modelos de datos, para desarrollar rápidamente modelos MVP.
Estoy realmente harto de las páginas tradicionales de administración, nunca más quiero escribir una.
Documentación IA del proyecto en línea
-
Backend
- Stack tecnológico: ts + prisma + zenstack + Effect + fastify
- zenstack (solución mejorada basada en prisma) para implementar modelado de base de datos y Row Level Security.
-
Puente
- Stack tecnológico: ts + superjson + biblioteca RPC autodesarrollada
- El frontend llama directamente a las APIs del backend con sugerencias de tipo ts completas, sin necesidad de escribir código de capa intermedia.
- superjson soporta serialización y deserialización de objetos complejos como Date, Map, Set, RegExp..., asegurando que los parámetros de entrada y resultados de prisma puedan transmitirse sin problemas.
-
Frontend
- Stack tecnológico: ts + vue3 + tailwindcss + biblioteca de componentes primevue
- Soporte de internacionalización i18n perfecto, asegurando que cada detalle soporte cambio dinámico de idioma sin necesidad de recargar la página.
- Cambio de tema claro/oscuro, componentes y tailwindcss soportan cambio dinámico sincronizado.
- Algunas páginas de funcionalidad implementadas
- Panel de administración tipo prisma studio (puede servir como alternativa de código abierto hasta cierto punto), ya no es necesario escribir páginas CRUD monótonas.
- NoteCalc Un bloc de notas de cálculo en tiempo real amigable con el chino
- AiEnglish Aprendizaje progresivo de inglés durante la lectura
Otros ejemplos de aplicaciones
- Extensión de navegador - InfoFlow
- Construida basada en https://wxt.dev/guide/installation.html, para demostrar cómo usar tsfullstack como soporte backend para extensiones de navegador.
- Clonar el proyecto
- Instalar dependencias: entrar al directorio backend, ejecutar
pnpm ipara instalar dependencias (ignorar errores: Failed to resolve entry for package "@tsfullstack/backend", generaremos este paquete en pasos posteriores) - Inicializar base de datos: en el directorio backend ejecutar
pnpm zenstack generateypnpm prisma migrate dev - Compilar el paquete API @tsfullstack/backend: en el directorio backend ejecutar
pnpm build:lib(habrá algunos errores de tipos, aún no he encontrado una buena solución, pero no afecta el uso, ignorar) - Iniciar servicio backend: en el directorio backend ejecutar
pnpm dev - Iniciar servicio frontend: en el directorio website-frontend ejecutar
pnpm dev
- Base del proyecto
- apps/website-frontend es el proyecto base del frontend
- apps/backend es el proyecto base del backend
- Código de proyecto frontend y backend modularizado
- modules/*
- El código frontend dentro de los módulos puede referenciar directamente las interfaces del código backend dentro del mismo módulo