Android App for Train Availability Search

Job ID: 40047133

Budget: ₹1,500 – ₹12,500 INR

Project Title

Android Mobile Application for Train Search & Availability Results

Project Description

I am building an Android mobile application that consumes a backend API and displays train-related search results in a clean, user-friendly way.

The backend system already exists and exposes REST APIs. Your task is to build a production-ready Android application that integrates with these APIs, handles user inputs correctly, and presents results clearly.

This is not a prototype or demo. The goal is a stable Android app that can be extended in future versions.

What Needs To Be Done

Android Application Development

Build an Android app using Flutter or native Kotlin

Follow clean architecture principles (MVVM or equivalent)

API Integration

Integrate with provided REST APIs

Handle request/response, loading states, and errors

Ensure API base URL and keys are configurable

User Interface

Input screen for:

Train number

Source station

Destination station

Travel date

Class and quota

Result screen showing:

Journey summary

Availability-based output returned by API

Clean, intuitive, mobile-friendly UI (Material Design)

App Behavior

Proper validation of user input

Graceful error handling

Loading indicators and empty states

No business logic hardcoded in the app

Testing & Build

App should build successfully in Android Studio

Provide APK/AAB file

Code must be readable and documented

Technical Requirements

Flutter or Kotlin (Android Studio)

Experience with REST API integration

Experience handling async operations

JSON parsing

Android UI/UX best practices

Deliverables

Complete Android source code

APK or AAB file

Instructions to build and run locally

API integration completed

Clean commit history preferred

Communication & Process

Clear and regular updates

Milestone-based delivery

Willingness to follow existing API contracts

Selection Preference

Developers who have built real Android apps before

Ability to explain architectural choices

Clean code and communication quality matter more than speed