A Flutter-based demo application built as part of the Travely screening process.
This project demonstrates Google Authentication, hotel listing, search functionality, and pagination using REST APIs.
| Page | Feature Description |
|---|---|
| Page 1 – Google Sign In/Sign Up | Uses Google Firebase Auth to authenticate users. No backend API required. |
| Page 2 – Home (Hotel List) | Displays preloaded hotel destinations, supports keyword search by hotel name, city, state, or country. Uses official search API. |
| Page 3 – Search Results | Shows filtered hotels with pagination for smooth scrolling and performance. |
| Profile Screen | Displays user details fetched after Google login. |
| Sign In Screen | Home Screen | Search Screen | Auto Screen |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Profile Screen |
|---|
![]() |
| Tool | Purpose |
|---|---|
| Flutter (Stable) | UI Development |
| Dart | Language |
| Bloc State Management | App State & Event Handling |
| Firebase Auth (Google Sign-In) | Authentication |
| REST API | Fetch search & listing results |
| Secure Storage / Shared Pref | Save token & user info |
- User clicks Sign In with Google
- Firebase Auth returns:
- Name
- Profile Picture
- App stores user info locally
- Navigates to Home Screen
- Displays a list of hotels (preloaded sample)
- Search works on:
- City
- State
- Country
- Hotel Name
- API-based filtering is supported
- Smooth pagination to avoid performance lag
Create a .env file in root:
- BASE_URL=https://api.example.com
- AUTH_TOKEN=your_static_test_token_here
Add in pubspec.yaml:
flutter:
assets:
- .env




