University students have difficulties staying organized and productive in their studies, which affects their academic performance, especially their emotional health, generating stress and anxiety.
Jump to
- SOLUTION IN ACTION
- TECHNOLOGY STACK
- Flutter
- Firebase
- Google Cloud Platform
- Dialogflow
- Google Calendar API
- PROJECT BRANCHES
- RUN THIS PROJECT
- DESIGN PATTERN
- TEAM
We submit our solution for the GDSC Solution challenge 2023 based on the 17 Sustainable Development Goals of the United Nations. You can learn more about the goal here.
Our explanation on YouTube.
We use it because it is a powerful and efficient tool for cross-platform mobile app development with attractive design, optimal performance, and support from an active community in Peru. Also, 2 team members had some experience with C++ and Java so Dart was quite familiar to us.
Firebase provides us with a large number of SDKs for different mobile platforms, such as Android, iOS and Flutter. Its integration was quite fast and important as it gave us access to services such as authentication, real-time databases and push notifications in a simple and efficient way.
Firestore Database:
We use it to store the information of all motivation letters, well-being advice, chronotype questions and references to our users' tasks. (Now we are working on the security of our users' data)
Firebase Auth:
We use it to make it easy for our users to log in using their personal Google accounts as a quick alternative.
Firebase Cloud Functions:
We use it to generate a webhook for Dialogflow in order to manipulate information from Pilar more comfortably and thus add more custom functionality to it.
Firebase Storage:
We use it to store our images and icons in an organized way without consuming many resources locally
Google Cloud offers a wide range of tools and services that we can use to enhance Pilar's functionality, including the integration with Google Calendar API. We also leverage Google Cloud's machine learning capabilities to improve Pilar's natural language processing and ability to understand user intent. Using Google Cloud allows us to easily scale and expand our infrastructure as needed to meet the growing demand for Pilar's services.
We use Dialogflow because it's a leading AI platform for developing chatbots and virtual assistants. It provides advanced natural language processing tools and resources that enable Pilar to better understand queries and respond more accurately and efficiently to users. Additionally, Dialogflow offers an easy-to-use development interface and seamless integration with other platforms and services.
We also use Fulfillment, a feature in Dialogflow that allows Pilar to perform more complex actions and integrations with other systems, such as retrieving data from a database or making API calls.
Moreover, we integrate Pilar with Google Calendar API, which allows users to schedule appointments and reminders directly from the conversation with Pilar. This integration streamlines the process of managing schedules and tasks for users and enhances the overall user experience.
Branch | Description |
---|---|
PROD | Final branch to run in production |
PRE | Branch to test the latest changes |
PILAR-001 | Here we initialize the project |
PILAR-002 | We add the Sign In button and configure Firebase |
PILAR-003 | We added the first project documentation |
PILAR-004 | We create the Home and the Navbar view |
PILAR-005 | We added the Splash view |
PILAR-006 | We create the view of the chatbot |
PILAR-008 | We connect the project with Dialogflow |
PILAR-012 | We create the task creation view |
PILAR-013 | We carry out the entire flow of the form to identify the chronotype |
PILAR-014 | We create the user profile view |
Bellow steps are required to run fully Pilar application.
-
Clone project to local machine:
git clone https://github.com/Pilar-App/pilar-app.git
-
Open your terminal and run:
flutter pub get
-
Connect real device (Android phone)
Follow this for connect your real device Android
We tested on: Xiaomi Redmi 9T (Android 11)
-
Finally run command and enjoy 🎉:
flutter run
-
More document run project with Flutter
The design pattern we use is the most common when using Getx as a state handler. This pattern is ideal for our project because we use many widgets and views that control states in common. The image was taken from EdrawMind whose author is Gustavo Quino Crispin, Flutter developer.
We are a Peruvian team, made up of students from multidisciplinary careers such as Systems Engineering, Business Engineering and Electronic Engineering. We are a diverse team passionate about innovation!
Our team has a wide range of skills and knowledge, which complement each other perfectly to tackle challenges and projects like Pilar. We decided to start this project because energy management is a problem that also happens to us and by surveying our university we realized that we are not the only ones. We believe in the impact that developing an application of this style will have since we have a clear why.
Made with contrib.rocks.