File size: 14,871 Bytes
e45918d
 
 
c922e1e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
191ca91
c922e1e
 
 
b2201f9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c922e1e
 
 
 
 
 
 
 
 
 
 
784bfb3
 
 
 
da38f1a
784bfb3
c922e1e
da38f1a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c690aab
22ef8f7
a230d54
da38f1a
 
c922e1e
 
da38f1a
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import streamlit as st
import pandas as pd

# Load the Excel file into a DataFrame (adjust the file path accordingly)
df = pd.read_excel('Book1.xlsx')

# Clean up the DataFrame (strip any unnecessary whitespaces in column names)
df.columns = df.columns.str.strip()

# Function to clean routes and remove unwanted characters
def clean_route(route):
    # Remove the "_x000D_" carriage return issue and other unwanted characters
    return route.replace("_x000D_", "").strip()

# Function to search buses by location
def search_by_location(location):
    # Filter buses that have the location in their routes
    buses_with_location = df[df['Routes'].str.contains(location, case=False, na=False)]
    return buses_with_location

# Function to get the route of a selected bus
def get_route_by_bus(bus_name):
    # Get the route for the selected bus
    bus_route = df[df['Dhaka Local Buses'] == bus_name]['Routes'].values
    if len(bus_route) > 0:
        return clean_route(bus_route[0])  # Clean the route before returning
    else:
        return "No route found for this bus."

# Streamlit app
def main():
    st.title("Dhaka Local 🚌 and 🏞 Finder")
    
    # Bus Name Search Section
    st.header("Search Bus Name")

    # Instructions in the sidebar
    st.sidebar.title("Instructions")
    st.sidebar.write(
        """
        **Welcome to the Dhaka Local Bus Route Finder!** 🚌

        You can use this app to:
        1. **Search Bus Routes by Bus Name**: Select a bus from the dropdown to see its route.
        2. **Search Buses by Location**: Enter a location (e.g., Gabtoli, Mirpur) to find buses passing through it.
        
        This app provides information about local bus routes in Dhaka city.
        """
    )

    st.sidebar.markdown("""
        ## Contact
    
        For any questions or issues, please contact:
    
        - **Email**: [[email protected]](mailto:[email protected])
        - **GitHub**: [Click here to access the Github Profile](https://github.com/shukdevtroy)
        - **WhatsApp**: [Click here to chat](https://wa.me/+8801719296601)
        - **HuggingFace Profile**: [Click here to access the HuggingFace Profile](https://huggingface.co/shukdevdatta123)
    """)

    st.sidebar.markdown("""
        ### Courtesy: [Dhaka Bus Route](https://dhakabusroute.com/)
    """)
    
    # Add a placeholder as the default option for the selectbox
    bus_name = st.selectbox(
        'Select a Bus Name from dropdown', 
        ['Select Bus Name from dropdown'] + df['Dhaka Local Buses'].tolist()  # Adding the placeholder at the beginning
    )
    
    if bus_name != 'Select Bus Name from dropdown':  # Proceed only if a valid bus is selected
        route = get_route_by_bus(bus_name)
        st.write(f"Routes for **{bus_name}**:")
        st.write(route)

    # Expander for location names (moved here)
    with st.expander("Bus Names for your assistance!!!", expanded=False):
        st.write(
            "Achim Paribahan Bus Route (আছিম পরিবহন), Active Paribahan Bus Route (এক্টিভ পরিবহন), Agradut Bus Route (অগ্রদূত), Airport Bangabandhu Avenue Bus Route(এয়ারপোর্ট বঙ্গবন্ধু এভিনিউ ট্রান্সপোর্ট), Ajmeri Glory Bus Route (আজমেরী গ্লোরী), Ajmi Bus Route (আজমী বাস), Akash Bus Route (আকাশ বাস), Akik Bus Route (আকিক বাস), Al Makka Bus Route(আল মক্কা বাস), Al Madina Plus One Bus Route (আল মনিদা প্লাস ওয়ান), Alif Bus Route (আলিফ বাস), Anabil Super Bus Route (অনাবিল সুপার), Arnob Bus Route (অরনব বাস), Ashirbad Pahibahan Bus Route (আশীর্বাদ পরিবহন), Ashulia Classic Bus Route (আশুলিয়া ক্লাসিক বাস), Asmani Bus Route (আসমানী বাস), ATCL Bus Route (এটিসিএল বাস), Ayat Bus Route (আয়াত বাস), Bahon Bus Route (বাহন বাস), Baishakhi Bus Route (বৈশাখী বাস), Balaka Bus Route (বলাকা বাস), Basumati Bus Route (বাসুমতি বাস), Basumati Transport Bus Route (বাসুমতি ট্রান্সপোর্ট), Best Satabdi AC Bus Route (বেষ্ট শতাব্দী এসি বাস), Best Transport Bus Route (বেষ্ট ট্রান্সপোর্ট বাস), Bhuiyan Paribahan Bus Route (ভূঁইয়া পরিবহন), Bihanga Bus Route (বিহাঙ্গা বাস), Bikalpa Bus Auto Service(বিকল্প বাস অটো সার্ভিস), Bikalpa Bus City Super Service (বিকল্প বাস সিটি সুপার সার্ভিস), Bikash Bus Route (বিকাশ বাস), Bikash Paribahan Bus Route (বিকাশ পরিবহন বাস), Bondhu Paribahan Bus Route (বন্ধু পরিবহন বাস), Borak Bus Route (বোরাক বাস), Bashumoti Bus Route (বসুমতি বাস), Brihottor Mirpur Bus Route (বৃহত্তর মিরপুর বাস), BRTC Bus Route (বি আর টিসি বাস), BRTC Elevated Expressway Bus Route (বিআরটিসি ভায়া এলিভেটেড এক্সপ্রেসওয়ে বাস রুট), BRTC Articulated Bus Route (বি আর টিসি আরটিকুলেটেড বাস), Labbayek Bus Route (লাব্বাইক বাস), Lal Sabuj (AC) Bus Route (লাল সবুজ এসি বাস), Lams Paribahan Bus Route (লামস পরিবহন বাস), Malancha Bus Route (মালঞ্চ বাস), Manjil Express Bus Route (মাঞ্জিল এক্সপ্রেস বাস), Meghla Transport Bus Route (মেঘলা ট্রান্সপোর্ট বাস), Meshkat Bus Route (মেসকাত বাস), Midline Bus Route (মিডলাইন বাস), Mirpur Metro Services Bus Route (মিরপুর মেট্রো সার্ভিস বাস), Mirpur Link Bus Route (মিরপুর লিংক বাস), Mirpur Mission Bus Route (মিরপুর মিশন বাস), Mirpur Transport Service Bus Route (মিরপুর ট্রান্সপোর্ট সার্ভিস বাস), Mirpur United Service Bus Route (মিরপুর ইউনাইটেড সার্ভিস বাস), MM Lovely Bus Route (এম এম লাভলী বাস), Modhumita Bus Route (মধুমিতা বাস), Mohona Bus Route (মোহনা বাস), Moitri Bus Route (মৈত্রী বাস), Moumita Bus Route (মৌমিতা বাস), MTCL-2 Bus Route (এমটিসিএল ২ বাস), Nur E Makka Bus Route (নূর এ মক্কা বাস), Nabakali Bus Route Dhaka (নবকালি বাস), New Vision Bus Route Dhaka (নিউ ভিশন বাস), Nilachol Bus Route Dhaka (নিলাচল বাস), Nishorgo Bus Route Dhaka (নিসর্গ বাস), Omama International Bus Route (ওমামা ইন্টারন্যাশনাল বাস), One Transport Bus Route (ওয়ান ট্রান্সপোর্ট বাস), Pallabi Local Service Bus Route (পল্লবী লোকাল সার্ভিস বাস), Pallabi Super Bus Route (পল্লবী সুপার বাস), Paristhan Bus Route (পরিস্থান বাস), Power Paribahan Bus Route (পাওয়ার পরিবহন বাস), Prattay Bus Route (প্রত্যয় বাস), Prochesta Bus Route (প্রচেষ্টা বাস), Projapati Bus Route (প্রজাপতি বাস), Provati Banasree Bus Route (প্রভাতী বনশ্রী বাস), Purbachol Logistics and Transport Bus Route (পূর্বাচল লজিস্টিকস বাস), Raida Bus Route Dhaka (রাইদা বাস), Raja City Bus Route Dhaka (রাজা সিটি বাস), Rajanigandha Bus Route Dhaka (রজনীগন্ধা বাস), Rajdhani Super Bus Route Dhaka (রাজধানী বাস), Ramjan Bus Route Dhaka (রমজান বাস), Robrob Bus Route Dhaka ( রবরব বাস), Rois Bus Route Dhaka (রাইস বাস), Rongdhonu Express Bus Route Dhaka (রংধনু এক্সপ্রেস বাস), Runway Express Bus Route Dhaka (রানওয়ে এক্সপ্রেস বাস), Rupa Paribahan Bus Route Dhaka (রুপা পরিবহন বাস), Rupkotha Bus Route Dhaka (রুপকথা বাস), Safety Druti Bus Route (সেফটি দ্রুতি বাস), Sakalpa Transport Bus Route (স্বকল্প ট্রান্সপোর্ট বাস), Salsabil Bus Route (ছালছাবিল বাস), Savar Paribahan Bus Route (সাভার পরিবহন বাস), Shadhin Bus Route (স্বাধীন বাস), Shadhin Express Bus Route (স্বাধীন এক্সপ্রেস বাস), Shahria Enterprise Bus Route (শাহরিয়া এন্টারপ্রাইজ বাস), Shatabdi Bus Route (শতাব্দি বাস), Shikhor Paribahan Bus Route (শিখর পরিবহন বাস), Suveccha Bus Route (শুভেচ্ছা বাস), Suvojatri Bus (শুভযাত্রী বাস), Siam Transport Bus Route (সিয়াম ট্রান্সপোর্ট বাস), Skyline Bus Route (স্কাই লাইন বাস), Somota Paribahan Bus Route (সমতা পরিবহন বাস), Somoy Bus Route (সময় বাস), Somoy Niyantran Bus Route (সময় নিয়ন্ত্রণ বাস), Super Bus Route (সুপার বাস), Supravat Bus Route (সুপ্রভাত বাস), Swajan Paribahan Bus Route (স্বজন পরিবহন বাস), Talukdar Bus Route (তালুকদার বাস), Tanjil Paribahan Bus Route (তানজিল পরিবহন বাস), Taranga Plus Bus Route (তরঙ্গ প্লাস বাস), Tetulia Bus Route (তেতুলিয়া বাস), Thikana Bus Route (ঠিকানা বাস), Thikana Express Bus Route (ঠিকানা এক্সপ্রেস বাস), Titas Bus Route (তিতাস বাস), Transilva Bus Route (ট্রান্সিল্ভা বাস), Trust Transport Services Bus Route (ট্রাষ্ট ট্রান্সপোর্ট বাস), Trust Transport Services (AC) Bus Route (ট্রাষ্ট ট্রান্সপোর্ট বাস), Turag Bus Route (গ্রেট তুরাগ বাস), Victor Classic Bus Route (ভিক্টর ক্লাসিক বাস), Victor Paribahan Bus Route (ভিক্টর পরিবহন বাস), VIP 27 Bus Route (ভিআইপি ২৭ বাস), Welcome Bus Route (ওয়েলকাম বাস), Winner Bus Route (উইনার বাস), Cantonment Bus Route (ক্যান্টনমেন্ট বাস সার্ভিস), Cantonment Mini Service Bus Route (ক্যান্টনমেন্ট মিনি বাস সার্ভিস), Champion Bus Route (চ্যাম্পিয়ন বাস), City Link Bus Route (সিটি লিংক বাস), 13 No. Bus Route Dhaka (১৩নং বাস), 4 No. Alike Bus Route Dhaka (৪নং বাস), 6 No. Bus Route Dhaka (৬নং বাস), 6 No. Motijheel Banani Transport Bus Route Dhaka (৬নং মতিঝিল বনানী ট্রান্সপোর্ট বাস), 7 No. Bus Route Dhaka (৭নং বাস), 8 No. Bus Route Dhaka (৮নং বাস), 9 No. Bus Route Dhaka (৯নং বাস), D Link Bus Route (ডি লিংক বাস), D One Transport Bus Route (ডি ওয়ান বাস), Deepan Bus Route (দিপান বাস), Desh Bangla Bus Route (দেশ বাংলা বাস), Dewan Bus Route (দেওয়ান বাস), Dhakar Chaka Bus Route (ঢাকার চাকা বাস), Dhaka Metro Service Bus Route (ঢাকার মেট্রো সার্ভিস বাস), Dhaka Paribahan Bus Route (ঢাকা পরিবহন বাস), Dipon Bus Route (দিপোন বাস), Dip Paribahan Bus Route (দ্বীপ পরিবহন বাস), Dishari Bus Route (দিসারি বাস), Elite Bus Route (এলিট বাস), ETC Bus Route (ইটিসি বাস), ETC Transport Bus Route (ইটিসি ট্রান্সপোর্ট বাস), Everest Paribahan Bus Route (এভারেস্ট পরিবহন বাস), Falgun Art Transport Private Limited"
        )
    
    # Location Search Section
    st.header("Search Location")
    location = st.text_input('Enter a location (e.g., Gabtoli, Mirpur)', '').strip()
    if location:
        buses = search_by_location(location)
        if not buses.empty:
            st.write(f"Buses passing through **{location}**:")
            for idx, row in buses.iterrows():
                st.write(f"- {row['Dhaka Local Buses']}: {clean_route(row['Routes'])}")  # Clean routes before displaying
        else:
            st.write(f"No buses found for the location '**{location}**'.")

    # Expander for location names (moved here)
    with st.expander("Location Names for your assistance!!!", expanded=False):
        st.write(
            "Adabor, Airport, Amin Bazar, Arambagh, Asad Gate, Azampur, Azimpur, Badashtola, Babubazar, Bashabo, Bashundhara, Banasree, Banani, Bijoy Sarani, Board Bazar, Cantonment, Chandra Dhamrai, Chittagong Road, City College, College Gate, Demra Staff Quarter, Dhanmondi 15, Dhanmondi 27, Dhanmondi 32, Diabari, Duaripara, ECB Square, Farmgate, Fantasy Kingdom, Gazipur Bypass, Gazipur Chourasta, Golap Shah Mazar, Gulistan, Gulshan 1, Hazipara, Hemayetpur, Jatrabari, Jahangir Gate, Japan Garden City, Kakali, Kallyanpur, Kamalapur, Kawran Bazar, Khilkhet, Kuril Bishwa Road, Malibagh Moor, Matuail, Meghna Ghat, Mirpur 1, Mirpur 2, Mirpur 10, Mirpur 11, Mirpur 12, Mohakhali, Mouchak, Nabisco, Nadda, New Market, Nilkhet, Notun Bazar, Pallabi, Paltan, Proshika Moor, Rajlakshmi, Rampura Bridge, Rampura Bazar, Rayerbag, Rupnagar, Sayedabad, Shantinagar, Shyamoli, Shishu Mela, Shonir Akhra, Sony Cinema Hall, Station Road, Technical, Tongi, Uttar Badda, Vulta, Wireless, Zirani Bazar, Zia Uddyan."
        )

    # Add an image at the bottom-right corner
    st.image("149656-200.png", width=100, caption="Jatiya Sangsad")  # Using st.image to display the image



if __name__ == "__main__":
    main()