Aura Frontend is the React application for the Aura project. It provides the user interface for authentication, playlist-based YouTube library management, favorites, and in-browser playback controls.
The application is built with React, TypeScript, and Vite, and uses Tailwind CSS with shadcn/ui-style components for the interface layer. It communicates with the Rust backend over HTTP and relies on cookie-based authentication.
- Presents login and signup flows for user authentication
- Protects application routes based on the current authenticated session
- Displays a personal YouTube library grouped by playlist labels
- Supports system views for:
Allsaved itemsFavorites
- Allows users to:
- add a YouTube URL with a custom title
- assign the item to an existing playlist label
- create a new playlist label while saving
- rename playlist labels
- move saved items between playlist labels
- update saved item titles
- mark and unmark favorites
- delete saved items
- Provides embedded YouTube playback with:
- play selected item
- play current view
- loop selected item
- loop current list
This project is responsible for:
- rendering the authenticated application shell
- managing client-side route protection
- calling backend APIs with
credentials: "include" - reflecting backend playlist and item state in the UI
- controlling the browser-side YouTube iframe player
This project does not:
- manage database access directly
- issue or validate JWTs itself
- persist auth state outside the backend-managed cookie
LoginSignupHomeNot Found
The home screen is the primary working area and includes:
- playlist navigation sidebar
- add-item form
- player panel
- current-view library list
The frontend expects the backend to expose endpoints for:
- signup, login, logout, and current-session lookup
- label listing and rename
- item listing, creation, update, and deletion
The API base URL is configured through:
VITE_API_BASE_URL
See .env.example
- Copy
.env.exampleto.env - Set
VITE_API_BASE_URLto the running backend URL - Install dependencies
- Start the development server
pnpm install
pnpm devDefault local API target:
VITE_API_BASE_URL=http://localhost:8080pnpm devstarts the Vite development serverpnpm buildcreates a production buildpnpm previewserves the production build locallypnpm lintruns ESLint
React 19TypeScriptViteReact RouterTailwind CSSshadcn/uipatternsLucide React
- Authentication depends on the backend sending and accepting cookies correctly
- The frontend should use the same host convention consistently in development, for example
localhosteverywhere instead of mixinglocalhostand127.0.0.1 - This frontend is intended to be deployed separately from the backend