Richard_A
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.
index.ts
https://Richard_A--f9673d563f9d11f0b34176b3cceeab13.web.val.run
A collaborative platform for students to discuss assignments, share resources, and work together in real-time.
- Discussion Threads: Post and discuss assignments, quizzes, and course topics
- Real-time Chat: Live messaging with typing indicators
- Online Users: See who's currently active
- User Profiles: Each user has a username and profile
- Persistent Storage: All discussions are saved for future reference
- User Management: Add and invite new users to join
βββ backend/
β βββ database/
β β βββ migrations.ts # Database schema setup
β β βββ queries.ts # Database query functions
β βββ routes/
β β βββ auth.ts # User authentication
β β βββ discussions.ts # Discussion thread management
β β βββ messages.ts # Real-time messaging
β β βββ users.ts # User management
β βββ index.ts # Main server entry point
βββ frontend/
β βββ components/
β β βββ App.tsx # Main application component
β β βββ Chat.tsx # Real-time chat component
β β βββ DiscussionList.tsx # Discussion threads list
β β βββ OnlineUsers.tsx # Online users sidebar
β β βββ UserProfile.tsx # User profile management
β βββ index.html # Main HTML template
β βββ index.tsx # Frontend entry point
βββ shared/
βββ types.ts # Shared TypeScript types
- Visit the Application: The app is now live and ready to use!
- Create Your Username: Enter a username to join the study group (no registration required)
- Start Collaborating:
- Create discussions for assignments, quizzes, and course topics
- Chat in real-time with your study group
- See who's online and invite new members
- Review past discussions anytime
- Categories: Organize by Assignment, Quiz, Course Topic, or General
- Persistent Storage: All discussions are saved for future reference
- Rich Context: Each discussion includes title, description, and creator info
- Live Messaging: Instant message delivery using Server-Sent Events
- General Chat: Open discussion space for quick questions
- Discussion-specific Chat: Focused conversations within each topic
- Message History: Full conversation history preserved
- Online Status: See who's currently active (last 5 minutes)
- User Profiles: View member information and join dates
- Easy Invites: Generate shareable links to invite new members
- No Registration: Just pick a username and start collaborating
- Live Message Delivery: Messages appear instantly for all users
- Online Status Updates: Real-time updates of who's active
- Automatic Refresh: No need to reload the page
- Create Focused Discussions: Use specific titles and categories to keep topics organized
- Use General Chat: Perfect for quick questions, announcements, and casual conversation
- Check Back Regularly: Help your study group members by staying active
- Invite Friends: Use the invite feature to grow your study group
- Review Before Exams: Past discussions are great study material!
- Backend: Hono (TypeScript API framework)
- Frontend: React with TypeScript
- Database: SQLite for persistent storage
- Real-time: Server-Sent Events for live updates
- Styling: TailwindCSS