Towards smarter city: clever school transportation system

  • Majd Ghareeb
  • Ali Bazzi
  • Samih Abdul-Nabi
  • Zein Al-Abidin Ibrahim


Aligned with the recent revolution of smart cities concept, a lot of work has been done to support the education process in direct or indirect way. In countries like Lebanon, in which the choice of school does not depend on the residence location, parents are becoming more and more selective in the quality of schools they are choosing for their children. This fact may lead parents to choose a modern and good school even if it is far from their residence. On the other hand, and even if the school was close enough, the traffic congestion would make the on-feet journey of the kid to the school very risky. Driving children to school is a solution. However, it consumes a lot of time and effort each day in the morning and the afternoon. Hence, school buses are commonly used by all schools to take the student from and to his home. Nevertheless, waiting the bus each day to arrive is an exhausting and a time-wasting mission. In this paper we present a smart transportation system for school buses that helps in saving parents’ time, by avoiding waiting school buses in the morning and then in the afternoon to return kids back, especially with the increasing traffic jams at these hours. The proposed mobile and web application is designed to help parents, school and the bus to communicate automatically and easily via the application in order to detect kids’ arrival time. The bus application side will notify parents few minutes before its approaching to their homes. Furthermore, the system will allow parents to inform the school and hence the bus application side about the absence of their kid. The system has been efficiently and dynamically designed and implemented so it can be hosted and used by any school administration without the need to any major modifications. It has been tested on a summer school to prove its efficiency and marked an important positive feedback from the school and the parents’ sides.


Smart cities Tracking systems Mobile applications Web applications 

1 Introduction

Mobile applications, vehicular communication, information and communication technology are all key components in today’s “new-fashioned” Smart City expression.

Almost all daily life activities are concerned by the revolution raised by this term, transportation, hospitality, agriculture, tourism, trading and education can be all considered as examples. For this latter, a lot of research and applications have been lately developed to help student smartening his educational life starting from registering into the school passing through discovering the school and his friends, set his attendance, record his courses, and until graduating and finding a job [1].

In countries such as Lebanon, near-by schools have never been an obligation on parents just because of their short distance to the home. In contrast, a lot of factors interfere in the decision of parents when it comes to the selection of the school for their kids. Education quality, as well as the above mentioned tech-effects can be all considered of the most important factors. This fact leads to another issue that is the distance from the school to the kid’s residence. Driving the kids to and from school is a solution; however, it is a time consuming and tiring mission to be done every day, especially with the huge traffic congestions on the roads at the morning and afternoon periods.

One other solution is to use a taxi delivery service, such as the one proposed by Uber [2]. The problem of such a service is its expense as a first argument. Besides, the transportation system will be directed by a third part that is neither the school nor the parents, which will add an additional load on parents to keep tracking their children and insure their security and safety. For this reason, registering kids in the school busses is an often measure followed by most of the parents. Here, another concern is raised, which is the time wasted waiting the bus and predict its arrival time again with the traffic jams at the pick hours.

Calling school-bus driver each time to consult him about the bus current location and the predicted time of kid’s arrival is evidently not a valid solution, since it might cause serious accidents because of answering mobile phone while driving.

Another solution is to give a mobile phone to the kid, so a tracking application can be used to detect the location. However, holding a mobile phone in schools is usually prevented for the students without mentioning the bad side effects of this step.

Alternatively, many tracking systems do exist in the market such as the kids GPS watch [3], which is a wearable mobile GPS where parents can track their kids’ location. The problem of these watches is that they are expensive (usually costs more than 100 American Dollars for the unit). Besides, each kid will have his own tracker that could be lost or crashed.

Consequently, we come to the objective of the work presented in this paper, which is to create a smart school transportation system that can cope with the above mentioned issues and facilitate the mission on parents and school drivers and save their time. This will be done via a software mobile and web application that is used by the school, the bus driver and the parents. The application will automatically notify parents few minutes before the arrival of their kid, so they can go out to receive him/her from the bus. This is also applied in the morning tour of the bus to inform parents that the bus is approaching and their kid should go out to take the bus to school. The application is administrated by the school via a web application to register students in busses and register their absences after being notified by parents. Hence, school will not be now obliged to call parents in case of their kid’s absence since this will be done via the application.

Some schools have already proposed customized software mobile applications to be used by parents in order to track the school bus and follow its location. However, by asking many parents about these applications, and up to our knowledge, none of these systems is designed to inform parents automatically few minutes before their kid arrival, nor to mark the kid absence by parents or to inform the school and the bus driver by that.

The proposed clever school transportation system was tested in Nabatieh city in Lebanon on a summer school to prove its efficiency. Nonetheless, and without the need of any changes in the core code, the system can be used by any other school helping in increasing the safety measures for students and to relieve parents from the responsibility of waiting school buses each day.

Following in this paper, a smart bus system overview is presented in Sect. 2. Then, in Sect. 3 we list the major system requirements and specifications. Section 4 presents the steps we followed to design the system, before describing the implementation tools and steps with few test cases done in Sect. 5 and finally concluding in Sect. 6.

2 Smart bus system overview

Figure 1 represents a general overview of the project objective. This objective will be met via an android application [4, 5] that will be running on two sides, school bus and parent side. The application main aim is to detect the current location of the bus using the GPS and to automatically notify the parents few minutes before bus arrival to the kid’s house. Besides, it will alarm the driver to drop down the kid in the given address. In their turn, parents can use the application to detect the current bus location, receive the notification of their kids’ arrival time and set any of their kids as absent if it is the case. This application is supported by a website used by the school to set the buses and link each kid’s address with the corresponding bus.
Fig. 1

Smart bus architecture design

Up to our knowledge, smart bus is the first system that will be monitored by the school and the driver and not by the kid. It will insure that parents are aware of their kid’s location without the need to call the bus driver while driving or to get worry because of occasional delay. This will be done without the need for the child to hold a personal mobile phone. An automatic notification SMS will be sent to the parents via the application to inform them about the time of their kid’s arrival so they can get ready to receive them. Moreover, parents will be able to enter to the system via their mobile application or their website page to set their kids as absent if it is the case. This last mission will relieve the school from the task of calling parents to check kid’s absence and the bus driver from passing to houses with no reason. The application contains a map that will appear in two different shapes for the parent or the bus driver. From the parent side, they can query the application at any time to detect the current location of the school bus that drives their kid. In its turn, bus driver will see a map marked by the houses that he should pass over to drive kids in his tour. Absent student’s house will not appear in the map and already arrived student’s houses will be marked as gray.

3 System specifications and requirements

As shown in Fig. 2, our smart bus system consists mainly in three roles that are the school administration, the application from the bus side, and the parent application. These three actors have the following specifications and requirements:
Fig. 2

Use-case diagram of smart bus system

  • School side application:
    • Add or update information about buses and students.

    • Assign students to a corresponding bus identified by their addresses and parent phone numbers.

    • Check absences records of each student.

  • Parents side application:
    • The ability of setting their kids absent from the Android application or from the website.

    • The ability of viewing the location of the school bus at any given instant of time.

    • The ability of seeing the absence history of their kids.

    • And the ability to receive a notification message few minutes before the bus arrival in the morning to pick up the kid to the school and in the afternoon tour to return him back home.

  • Bus side application:
    • The ability of updating its current location.

    • The ability of viewing the homes of the students that are registered in this bus on the map: red houses represent kids that are absent and green houses represent kids that are attending school today.

    • Comparing the distance between the bus and each home, when this distance is less or equal to 3 km the application will send a message to inform the parents that their kid/s will arrive home in 5 min.

4 System design

In this section we introduce the skeleton of the android application and the website [6, 7] of our system, starting from the home pages, going down through login page to specify which one of the actors is trying to log on the system (android application: school bus or parent and website: school or parent). Each user has his page and his own privileges on the system.

The school has the ability to add and organize buses and kids using the website and also to give each parent special credentials to authorized their access to their page in the website and also to use the android application.

From the web side parents are able to set any of their kids absent to inform the school and the driver. In addition, they have the ability of revising the absence history of their children. While from the application side parents can also set their kids absent and they can track their kids’ journey back home.

In the school bus the android application will be used to do many tasks automatically: First after logging in, a map will appear containing all the homes corresponding to the signed in school bus (homes which belong to kids that are attending school today will have a green color but others that belong to absent kids for today will have a red color as depicted in Fig. 3), a button will be located in the corner of the map when the school bus driver decides to depart from school to drop down the students home he should press this button (Departure button). Consequently, the application will start two tasks:
Fig. 3

Map for school bus android application side

  • Updating the current location of the school bus each 5 min.

  • Computing the distance between the currents school bus location and all the homes where no students are set absent and where the kid/s didn’t arrive home yet. When the distance reaches 3 km, an SMS will be sent to the parents to inform them that after approximately 5 min their kid/s will arrive home.

After all the kids arrive home, the application automatically clears all the absence’s records, the flags of arrived kids and finally the computation of distance and the update of current location will stop until the next day (repressing the departure button). Figures 4 and 5 show the sitemap diagram of the android and the website applications respectively.
Fig. 4

Sitemap diagram for android application

Fig. 5

Sitemap diagram for website

5 Implementation/simulation and testing

This section will include all the elements behind implementing and testing our web and android application. We will describe how the functions occur starting from the school side, parent side and ending with the bus side. Also, the implementation tools will be stated to enable further work and enhancements on the system.

5.1 Implementation tools

The implementation of the web application and android application were done using multi software.
  • Android Studio [4, 5] using java and xml to create the mobile application for parent and bus sides.

  • XAMPP to run APACHE and SQL servers.

  • HTML5 and Javascript for client side web implementation.

  • MYSQL and Phpmyadmin for our system database [6].

  • PhP [7] for server side programming and connecting android studio with database.

5.2 Implementation summary and testing cases

In the previous section we discussed the web skeleton of the website pages. However in this part we will go into the details of the pages’ implementation. We will first discuss the implementation of the android application starting from parent side ending with school bus side. Then we will show the implementation of the web application starting from the login page and how it’s divided into school and parent sides.

5.2.1 Android implementation

First, our application has a home page which is used to specify which user will be using the application right now, as each user will have totally different pages and actions (parent and school busses). Users will also have the ability to check the news, features, about-us, contact-us and finally visit website using a hidden list placed in the corner of the page, and also they will be able to visit the school through the social media accounts (Facebook, Twitter and Instagram if they exist).

Each parent will have his own username which is the phone number of the android device containing this application. Furthermore, the password is given by the school and can be changed by the parent as soon as logging in (Fig. 6).
Fig. 6

Smart bus login page

If the parent is signing in for the first time (his latitude and longitude are Null), he should save his home location (where his kid will arrive after school every day). This location will be saved in the data base along with the phone number of the signed in parent.

Now, parent can sign into the android application, set their kid as absent, demanding the current location of the school bus (Fig. 7), receiving an automatic reply from the application in the bus about their query and receive a notification message before their kid arrival.
Fig. 7

Map for parent android application side

On the other hand, each school bus will have a dedicated phone number (not necessarily the driver number) for the android device that should be located in the bus.

When the driver signs into the application bus page, a map will appear, as shown in Fig. 3, containing all the locations of the residences this school bus is responsible to pass over for driving kids. The locations of absence kids’ houses are marked with different color to help driver shortening the bus tour if possible by avoiding passing to these houses.

By pressing the departure button, driver will tell the application to start a new tour. Then, when the bus departs, the application will update its current location each 5 min, and will also calculate the distance between the current location of the bus and the homes that have students attending the school for today and also students that didn’t arrive yet each 1 min. Students that already arrived will not be included in this computation.

When this distance becomes less or equal to 3 km parents will receive a message sent automatically by the application from the school bus side telling them to be ready to receive their child after about 5 min.

5.2.2 Website implementation

Website can be used by school and parents. The school employee who has the credentials to access the system will be able to show all the existing busses with their maximum capacity and the number of registered kids in each bus as it is shown in Fig. 8. From school side, employee can also add/delete/update a new bus, add/delete/update a parent, show the parents already registered in the system (Fig. 9), search a parent, add/delete/update kids for each parent and assign them to the corresponding bus based on their given address (Fig. 10).
Fig. 8

Web page to list all registered busses

Fig. 9

Web page to list all registered parents

Fig. 10

Ability to add new kids to busses

After typing all names correctly and choosing a bus, the kids will be added to our database and the user will be redirected to student page that will show all students with their information.

Employee is also able to show the absent kids in each bus and show the history of absence for each student.

On their turn, parents are also able to access the system via a dedicated webpag using the same username and password given for the mobile application. This webpage allows parents to put their kid as absent as shown in Fig. 11 and the system will automatically save this information and use it to de-highlight the house of this kid on the map of the driver. Moreover, parents can show the history of their kid absences via the web application.
Fig. 11

Kids information page from the parents side

6 Discussion and conclusion

Enhancing education system could be done not only by targeting the process of education itself, but also by providing the most possible comfort for student and parents to increase their interest in school. The idea of this project was to target this issue, in which a tracking system for the school bus was designed and developed using a software application (android and web). This system provides a mean for the parents to track their kids while they are in the bus and notify them before the arrival of the bus to their houses location. The system is totally managed by the school which puts less cost and more information security. It allows the school to know about the absence of a student and hence the driver of the bus can avoid passing by his house if this will help avoiding road congestion. A possible improvement that could be added to the application is to use notifications rather than sending SMS since it is cheaper. Adding an alarm to the application from the bus side to remind driver when he gets beside students home is another good idea to be added. Moreover, adding secondary address such as grandparent or another relative address to the database and enable parents to inform school via our system to drop the kid by that secondary address is also an important enhancement to the functionality of the application.



We would like to thank Athar Ghamloush and Hawraa Hamdan the two students who contributed in this work as a part of their BS final project.


  1. 1.
    Greenberg, A. (2018). How will smart city technologies impact education? Accessed 20 Jan 2018.
  2. 2.
    Uber taxi service. Accessed 20 Jan 2018.
  3. 3.
    Kenney, B. (2018). The best GPS tracking watches for kids. Accessed 20 Jan 2018.
  4. 4.
    Deitel, P. (2012). Android for programmers: An app-driven approach. Deitel DeveloperGoogle Scholar
  5. 5.
    Lee, W.-M. (2012). Beginning Android 4 application development (2nd ed.). New York: Wiley.Google Scholar
  6. 6.
    Garca-Molina, H., Ullman, J. D., & Widom, J. (2008). Database systems: The complete book (2nd ed.). London: Pearson.Google Scholar
  7. 7.
    Nixon, R. (2014). Learning PHP, MySQL and JavaScript (4th ed.). Newton: O’Reilly Media.Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  • Majd Ghareeb
    • 1
  • Ali Bazzi
    • 1
  • Samih Abdul-Nabi
    • 1
  • Zein Al-Abidin Ibrahim
    • 2
  1. 1.Department of Computer and Communication EngineeringInternational University of BeirutMazraa, BeirutLebanon
  2. 2.Faculty of ScienceLebanese UniversityHadath, BeirutLebanon

Personalised recommendations