A modern travel booking platform built with Next.js, featuring tour search, user authentication, and booking management capabilities.
- Tour Search & Discovery: Browse and search for domestic and international tours
- User Authentication: Secure login with OTP verification
- Profile Management: User profile with personal and financial information
- Booking System: Tour reservation and payment processing
- Responsive Design: Mobile-first design with RTL support for Persian language
- Real-time Updates: Connection status monitoring and data synchronization
- Framework: Next.js 15.5.4
- React: 19.1.0
- Styling: Tailwind CSS 4
- State Management: TanStack React Query
- Forms: React Hook Form with Yup validation
- HTTP Client: Axios
- Animations: Framer Motion
- Date Handling: Zaman (Persian calendar)
- Notifications: React Hot Toast
src/
├── app/ # Next.js app router pages
│ ├── about-us/ # About us page
│ ├── basket/ # Shopping cart
│ ├── contact-us/ # Contact page
│ ├── payment/ # Payment processing
│ ├── profile/ # User profile pages
│ ├── services/ # Services page
│ └── tours/ # Tour details and listing
├── components/ # Reusable components
│ ├── atoms/ # Basic UI components
│ ├── layout/ # Layout components
│ ├── partials/ # Shared partials
│ └── templates/ # Page templates
├── core/ # Core application logic
│ ├── config/ # API configuration
│ ├── services/ # API services
│ └── utils/ # Utility functions
└── hooks/ # Custom React hooks
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd torino- Install dependencies:
npm install- Set up environment variables:
Create a
.env.localfile in the root directory and add:
NEXT_PUBLIC_BASE_URL=your_api_base_url
- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
npm run dev- Start development servernpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLint
- Advanced search with origin and destination filtering
- Date-based tour availability
- Real-time tour data fetching
- OTP-based authentication system
- Secure token management with refresh tokens
- Protected routes and session handling
- Personal information editing
- Financial information management
- Account settings and preferences
- Shopping cart functionality
- Payment processing
- Booking confirmation and management
The application uses a RESTful API with the following key endpoints:
/tour- Tour data and search/auth- Authentication endpoints/user- User profile management/booking- Booking and payment processing
- Tailwind CSS: Utility-first CSS framework
- RTL Support: Right-to-left layout for Persian language
- Custom Fonts: Yekan, Vazir, and IRSans fonts
- Responsive Design: Mobile-first approach
- Component Library: Atomic design pattern
- Use atomic design principles for component structure
- Implement proper error handling and loading states
- Follow React best practices and hooks patterns
- Maintain consistent naming conventions
- Use React Query for server state management
- Implement proper caching strategies
- Handle loading and error states consistently
- Use React Hook Form for form management
- Implement Yup validation schemas
- Provide user-friendly error messages
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is private and proprietary.
For support and questions, please contact the development team.