docs: update README with Reflecto app description and feature list

This commit is contained in:
2025-09-11 00:20:00 -03:00
parent c9a6401137
commit 1fbd0af1e6

View File

@@ -1,23 +1,20 @@
# Reflecto # 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. Reflecto is your AIpowered second brain. Capture voice notes, images, and text—Reflecto automatically performs OCR and speechtotext, organizes content into connected Spaces, and makes everything instantly searchable.
Originally bootstrapped with [Better-T-Stack](https://github.com/AmanVarshney01/create-better-t-stack).
## Features ## Features
- **TypeScript** - For type safety and improved developer experience - **Ingestion** — Upload images and voice notes. OCR and speechtotext run automatically.
- **TanStack Router** - File-based routing with full type safety - **AI Processing** — Extracts text and metadata into a structured store for fast retrieval.
- **TailwindCSS** - Utility-first CSS for rapid UI development - **Spaces Graph** — Discover AIsuggested relationships and navigate ideas visually.
- **shadcn/ui** - Reusable UI components - **Fulltext Search** — Find anything across your entire knowledge base with low latency.
- **Hono** - Lightweight, performant server framework - **Secure & Private** — Your data is yours—authentication and storage are handled securely.
- **tRPC** - End-to-end type-safe APIs - **Voicefirst** — Capture thoughts handsfree and let Reflecto do the rest.
- **Bun** - Runtime environment - **Beautiful UI** React + Tailwind + shadcn/ui.
- **Drizzle** - TypeScript-first ORM - **Portable** — PWA support and a Tauri desktop target.
- **PostgreSQL** - Database engine - **Monorepo Tooling** — Turborepo orchestration, Husky precommit hooks.
- **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 ## Getting Started
@@ -26,6 +23,15 @@ First, install the dependencies:
```bash ```bash
pnpm install pnpm install
``` ```
## Demo
The homepage embeds a looping YouTube preview. You can point it to your own video by setting an env variable in `apps/web/.env`:
```bash
VITE_YOUTUBE_DEMO_ID=<your_video_id>
```
## Database Setup ## Database Setup
This project uses PostgreSQL with Drizzle ORM. This project uses PostgreSQL with Drizzle ORM.
@@ -57,14 +63,30 @@ The API is running at [http://localhost:3000](http://localhost:3000).
``` ```
Reflecto/ Reflecto/
├── apps/ ├── apps/
│ ├── web/ # Frontend application (React + TanStack Router) │ ├── web/ # Frontend (React + TanStack Router + Tailwind + shadcn/ui)
── server/ # Backend API (Hono, TRPC) ── server/ # Backend API (Hono, tRPC, Drizzle, PostgreSQL)
│ └── tldraw/ # tldraw integration (if enabled)
├── docs/ # Project docs and guides
├── turbo.json # Turborepo pipeline config
├── pnpm-workspace.yaml
└── package.json # Root scripts for dev/build
``` ```
## Available Scripts ## Available Scripts
- `pnpm dev` — Run all relevant dev processes via Turborepo.
- `pnpm build` — Build all packages/apps.
- `pnpm check-types` — Typecheck across the monorepo.
- `pnpm dev:native` — Run the native (Tauri) app in dev, if present.
- `pnpm dev:web` — Run only the web app in dev.
- `pnpm dev:server` — Run only the server in dev.
- `pnpm db:push` — Apply Drizzle schema to the database.
- `pnpm db:studio` — Open Drizzle Studio.
- `pnpm db:generate` — Generate SQL migrations from schema.
- `pnpm db:migrate` — Run pending migrations.
- `pnpm db:start|db:stop|db:watch|db:down` — Local DB helpers (if configured).
## Authentication (Appwrite) ## Authentication & Auth Flow (Appwrite)
The project now uses Appwrite Authentication instead of Better-Auth. The project now uses Appwrite Authentication instead of Better-Auth.
@@ -78,6 +100,7 @@ Environment variables:
- `VITE_APPWRITE_ENDPOINT` — same endpoint as above - `VITE_APPWRITE_ENDPOINT` — same endpoint as above
- `VITE_APPWRITE_PROJECT_ID` — same project id - `VITE_APPWRITE_PROJECT_ID` — same project id
- `VITE_SERVER_URL` — TRPC server URL (e.g. http://localhost:3000) - `VITE_SERVER_URL` — TRPC server URL (e.g. http://localhost:3000)
- `VITE_YOUTUBE_DEMO_ID` — optional, overrides the homepage demo video
How it works: How it works:
@@ -89,3 +112,23 @@ How it works:
Notes: Notes:
- If relying on session cookies from the browser, use a custom domain for Appwrite so cookies are first-party (or enable 3rd-party cookies in local dev). - If relying on session cookies from the browser, use a custom domain for Appwrite so cookies are first-party (or enable 3rd-party cookies in local dev).
## Tech Stack
- Web: React, TanStack Router, TanStack Query, TailwindCSS, shadcn/ui
- Server: Hono, tRPC, Drizzle ORM, PostgreSQL
- Infra/Tooling: Turborepo, pnpm, Biome, Husky, lint-staged
- Auth: Appwrite
- Desktop: Tauri (optional)
## Contributing
Contributions are welcome! Feel free to open issues and pull requests. Before committing, run:
```bash
pnpm check
```
## License
MIT