kenzuya 8f485fbcb1 feat(search): add search functionality for titles
Added a new search feature that allows users to query movies and series. Implemented server-side search endpoint in the titles router with Zod validation for input and output. Created a client-side search page with debounced input, query state management using nuqs, and responsive results display including loading, error, and empty states. Updated dependencies and integrated NuqsAdapter for URL state synchronization.
2025-10-03 19:59:07 +00:00
2025-09-16 19:14:46 +00:00
2025-09-16 20:02:16 +00:00
2025-09-16 19:14:46 +00:00
2025-09-24 16:49:51 +07:00

Nontara

Nontara is an alternative to Jellyfin designed to provide private media streaming services. This platform allows users to manage and access their collections of movies, TV shows, music, and photos from various devices.

Features

  • TypeScript - For type safety and improved developer experience
  • TanStack Start - SSR framework with TanStack Router
  • 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
  • SQLite/Turso - Database engine
  • Authentication - Better-Auth
  • Biome - Linting and formatting
  • Turborepo - Optimized monorepo build system

Getting Started

First, install the dependencies:

bun install

Database Setup

This project uses SQLite with Drizzle ORM.

  1. Start the local SQLite database:
cd apps/server && bun db:local
  1. Update your .env file in the apps/server directory with the appropriate connection details if needed.

  2. Apply the schema to your database:

bun db:push

Then, run the development server:

bun dev

Open http://localhost:3001 in your browser to see the web application. The API is running at http://localhost:3000.

Project Structure

nontara/
├── apps/
│   ├── web/         # Frontend application (React + TanStack Start)
│   └── server/      # Backend API (Hono, TRPC)

Available Scripts

  • bun dev: Start all applications in development mode
  • bun build: Build all applications
  • bun dev:web: Start only the web application
  • bun dev:server: Start only the server
  • bun check-types: Check TypeScript types across all apps
  • bun db:push: Push schema changes to database
  • bun db:studio: Open database studio UI
  • cd apps/server && bun db:local: Start the local SQLite database
  • bun check: Run Biome formatting and linting
Description
Nontara Media Server is an alternative to Jellyfin designed to provide private media streaming services. This platform allows users to manage and access their collections of movies, TV shows, music, and photos from various devices.
Readme 4.8 MiB
Languages
TypeScript 99.1%
CSS 0.9%