Skip to content

Instantly share code, notes, and snippets.

@Prayag-X
Last active August 26, 2023 21:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Prayag-X/d436610ff922b9c6434797eb842da916 to your computer and use it in GitHub Desktop.
Save Prayag-X/d436610ff922b9c6434797eb842da916 to your computer and use it in GitHub Desktop.
GSoC 2023 Smart City Dashboard Final Report

GSoC 2023 Smart City Dashboard - Final Report

My name: Prayag Biswas

Mentor: Merul Dhiman

Organization: Liquid Galaxy

Organization Admin: Andreu Ibáñez

Project name: Smart City Dashboard

Project duration: 350 hrs

Project Description

Smart City Dashboard is and android app to visualize many available public data of various Smart Cities through Dashboards. It will also connect with Liquid Galaxy to show the data in Google Earth in bigger screens for better visualization. The aim of the project is to make the open data of various Smart Cities easy to visualize and understand for everyone. The project hopes to create more awareness among the public regarding the data of their own city and eases the data analysis for general improvement of the city.

Workflow:

  1. First the open data (except Weather API) is collected from the following sites: New York City, Chartlotte, Seattle, Austin, Boudler, Chicago, Toronto, Monterrey and City Scores.
  2. After the data is downloaded, it is processed into Dart models if it is .csv or is prepared to visualize in Liquid Galaxy is .kml.
  3. The processed data is shown as form of beautiful Line Chart, Pie Chart and Percentage Bar data with smooth animations.
  4. The charts and bars are rendered with the help of this package into an .png image.
  5. The app then integrates the rendered image of the widget in a .kml file and sends to Liquid Galaxy for visualization.
  6. The integration of the app with Liquid Galaxy has been done with the help of this package.

Features:

  • Works both with and without connecting to Liquid Galaxy.
  • Visually appealing UI/UX with smooth animations.
  • Dynamic Left Tab bar and 1 tap navigation for ease of use.
  • Realtime weather data along with hourly and forecast data.
  • Many categories of open data for each city like: Environemnt, Health, Transportation etc with .kml data as well to visualize in the Liquid Galaxy.
  • Same interface as the app in the Liquid Galaxy
  • Has the option to download and visaulize open data as well as delete those whenever required so that the app doesn't consume much storage.
  • Integrated Google Map and many functions to control Liquid Galaxy.
  • Allows various types of tours and orbit accross the cities.
  • Visualizer for any custom .csv or .kml files.
  • App tour to guide new users and highlight the features.
  • 8+ Smart Cities data.
  • 2 Themes (Dark/Light).
  • 7 different languages.

Work Done

All the ideas and features proposed in the Proposal has been successfully done except the part of making a seperate package to convert 3D models to .kml because later I realised that it was not required in my project. I have also added few additional features not proposed earlier like Custom Visualizer to visualize any .csv or .kml file, make the open data option to download, etc.

Proposed Wireframe Final Delivered UI
>
>
>

This is my daily worklog to track the work I have done per day and per week in details. I am summerizing my work done in two phases here:

Community Bonding Period:

  • Conncted to the community and my mentor.
  • Made a basic structure of the project.
  • Prepared the datasets.
  • Connection to Liquid Galaxy.
  • Dynamic Left Tab Bar.
  • Refined the timeline.

Mid-Term Evaluation (Week 1 - 6):

This is the Mid-Term Video to check out the progress I have made till Mid-Term Evaluation.

  • Finished most of the proposed features of the app.
  • All UI elements and animations almost done.
  • Integrated Google Map.
  • Basic tours in Liquid Galaxy.
  • Only New York City Data.

Upto The End (Week 7 - 12):

This is the Final Video to check out the full project Demo.

  • Added 7+ Cities data.
  • Custom Visualizer Page.
  • Improved Dynamic Left Tab.
  • Audio search feature.
  • Finished all layouts, KML rendering, tours and orbits in Liquid Galaxy.
  • App Demo for new users.
  • Added Light Theme and 6 Languages.
  • Bug fixes and stability of the app.
  • All other features mentioned above.
  • Publish in Play Store.

Future Works

Though all the features that was proposed have been done and even few new features were added, there are still some ways the project can be improved. For example, there are more than hundreds of Smart Cities across the world and the project currently has 8+ cities data. So, the number of city data can be increased indefinitely. The process of increasing the number of city data is very simple but very time consuming at the same time as someone has to explore out the open datasets manually as there is no central API for all the cities collectively. And the number of languages can also be increased to make all the users around the world more comfortable to use the app. I tried to solve out every possible bugs in the app. Still in future, someone may find a new bug which can be solved that time.

Challenges Faced

Regarding the making of the app, I didn't had to face much issues or problems as I had intermediate experience with Flutter earlier. However, few things like how to mirror the same UI in the Liquid Galaxy and some refreshing issues with Liquid Galaxy took me some time to figure out the solution. Overall, everything went pretty smoothly.

My Overall Experience

I am very glad to be able to get the opportunity of participating in this Google Summer of Code 2023 where I got to work on the open-source project Smart City Dashboard under the mentorship of Merul Dhiman in Liquid Galaxy with Andreu Ibáñez. I spent most of my time in this summer coding, collaborating with the open-source community, and gaining valuable experience in software development which helped me to grow a lot within this short span of time. This experience allowed me to enhance my programming skills and learn the joy of contributing to an open-source real-world project. I would suggest everyone to explore and contribute more to open source projects and participate in many open source programs including Google Summer of Code because the experienced gathered from here can't be compared to anything else.

Credits

The project was successfully made thanks to my mentor of Google Summer of Code 2023 Merul Dhiman and Liquid Galaxy administrator Andreu Ibáñez who guided me in every way possible. Also thanks to Alejandro Illan Marcos for publishing the app in the Play Store and Victor Carreras for any Flutter related queries. The project wouldn't be completed without the support of Mohamed Zazou, Navdeep Singh and Imad Laichi who tested the app relentlessly for any possible bugs and improvements.

Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment