Public
Like
my-first-val
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v13View latest version
A comprehensive platform for AI-powered media recognition with user authentication, real-time analysis, and intelligent search capabilities.
- User Authentication: Secure login/signup system with session management
- Multi-Media Support: Image, video, and audio recognition
- Real-time Capture: In-browser media capture capabilities
- AI Analysis: Powered by OpenAI's vision and audio models
- Intelligent Search: Find similar content based on descriptions
- Secure Storage: User data and media metadata stored securely
- index.ts: Main Hono server with API routes
- database/: SQLite database setup and queries
- routes/: Modular route handlers
- auth/: Authentication middleware and utilities
- index.html: Main application shell
- components/: React components for UI
- services/: API communication and media handling
- utils/: Client-side utilities
- types.ts: TypeScript interfaces and types
- utils.ts: Shared utility functions
POST /api/auth/login
- User loginPOST /api/auth/signup
- User registrationPOST /api/auth/logout
- User logoutGET /api/auth/me
- Get current userPOST /api/media/analyze
- Analyze uploaded mediaPOST /api/media/search
- Search similar contentGET /api/media/history
- Get user's analysis history
- Backend: Hono, SQLite, OpenAI API
- Frontend: React, TailwindCSS
- AI/ML: OpenAI GPT-4 Vision, Whisper
- Storage: Val Town Blob storage
- Authentication: JWT-based sessions
-
Set up environment variables:
OPENAI_API_KEY
: Your OpenAI API keyJWT_SECRET
: Secret for JWT token signing
-
The application will automatically create database tables on first run
-
Access the application at the HTTP endpoint URL
- Password hashing with bcrypt
- JWT-based authentication
- CORS protection
- Input validation and sanitization
- Secure file upload handling