# Reflecto This project was created with [Better-T-Stack](https://github.com/AmanVarshney01/create-better-t-stack), a modern TypeScript stack that combines React, TanStack Router, Hono, TRPC, and more. ## Features - **TypeScript** - For type safety and improved developer experience - **TanStack Router** - File-based routing with full type safety - **TailwindCSS** - Utility-first CSS for rapid UI development - **shadcn/ui** - Reusable UI components - **Hono** - Lightweight, performant server framework - **tRPC** - End-to-end type-safe APIs - **Bun** - Runtime environment - **Drizzle** - TypeScript-first ORM - **PostgreSQL** - Database engine - **Authentication** - Better-Auth - **Husky** - Git hooks for code quality - **PWA** - Progressive Web App support - **Tauri** - Build native desktop applications - **Turborepo** - Optimized monorepo build system ## Getting Started First, install the dependencies: ```bash pnpm install ``` ## Database Setup This project uses PostgreSQL with Drizzle ORM. 1. Make sure you have a PostgreSQL database set up. 2. Update your `apps/server/.env` file with your PostgreSQL connection details. 3. Apply the schema to your database: ```bash pnpm db:push ``` Then, run the development server: ```bash pnpm dev ``` Open [http://localhost:3001](http://localhost:3001) in your browser to see the web application. The API is running at [http://localhost:3000](http://localhost:3000). ## Project Structure ``` Reflecto/ ├── apps/ │ ├── web/ # Frontend application (React + TanStack Router) │ └── server/ # Backend API (Hono, TRPC) ``` ## Available Scripts - `pnpm dev`: Start all applications in development mode - `pnpm build`: Build all applications - `pnpm dev:web`: Start only the web application - `pnpm dev:server`: Start only the server - `pnpm check-types`: Check TypeScript types across all apps - `pnpm db:push`: Push schema changes to database - `pnpm db:studio`: Open database studio UI - `cd apps/web && pnpm generate-pwa-assets`: Generate PWA assets - `cd apps/web && pnpm desktop:dev`: Start Tauri desktop app in development - `cd apps/web && pnpm desktop:build`: Build Tauri desktop app