Appky
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: v14View latest version
A comprehensive travel booking platform that connects travelers with multiple travel agencies, allowing users to discover, compare, and book travel packages for holidays and recreation.
- Travel Package Search: Find travel options based on destination, dates, budget, and preferences
- Agency Integration: Connect with multiple travel agencies through a unified platform
- Personalized Dashboard: View curated travel suggestions based on preferences and history
- Secure Booking: Complete the booking process with integrated payment system
- Travel Guides: Access information about tourism sites and activities
├── backend/
│ ├── database/
│ │ ├── migrations.ts # Schema definitions
│ │ └── queries.ts # DB query functions
│ ├── routes/ # API route handlers
│ │ ├── agencies.ts # Agency-related endpoints
│ │ ├── auth.ts # Authentication endpoints
│ │ ├── bookings.ts # Booking-related endpoints
│ │ ├── packages.ts # Travel package endpoints
│ │ └── payments.ts # Payment processing endpoints
│ └── index.ts # Main API entry point
├── frontend/
│ ├── components/
│ │ ├── App.tsx # Main application component
│ │ ├── Dashboard.tsx # Dashboard with travel suggestions
│ │ ├── Header.tsx # Navigation header
│ │ ├── PackageCard.tsx # Travel package display card
│ │ ├── SearchForm.tsx # Search functionality
│ │ └── BookingFlow.tsx # Booking and payment process
│ ├── index.html # Main HTML template
│ └── index.tsx # Frontend entry point
└── shared/
├── types.ts # Shared type definitions
└── utils.ts # Shared utility functions
- Backend: Hono (API framework), SQLite (database)
- Frontend: React, TailwindCSS
- Authentication: JWT-based authentication
- Payment Processing: Simulated payment gateway
Access the application at the root URL. New users can create an account or browse travel packages without logging in. To complete a booking, users must create an account and log in.