Inspiration
As Mexican students, we are deeply concerned about the educational challenges our country faces and the impact they have on the future of our society. Inspired by the United Nations' Sustainable Development Goal 4 (SDG 4) - Quality Education, we recognized the urgent need to "ensure inclusive and equitable quality education and promote lifelong learning opportunities for all" (Goal 4 | Department of Economic and Social Affairs, 2022) here in Mexico.

With a shared vision of contributing to our nation's educational development, we embarked on this project to create a platform that addresses some of the key issues hindering quality education. By leveraging machine learning technology, integrating GPT API for personalized study plans, and utilizing Google Calendar API for better organization, we aimed to provide innovative solutions that empower students, teachers, and educational institutions to enhance learning outcomes and make a positive impact on Mexico's educational system. Through this project, we seek to align our efforts with the SDG 4 objectives and contribute towards building a more inclusive, equitable, and transformative educational landscape in Mexico.
EduHack Functionalities:
-
User Authentication and Authorization
- User login and registration
- OAuth 2.0 authentication with Google API
-
Interactive Calendar Integration
- Display upcoming events from Google Calendar
- Create and schedule new events using Google Calendar API
-
Machine Learning Model Implementation
- Development of a decision tree model for activity classification
- Utilization of scikit-learn library for model training and testing
- Achieving 80% accuracy in activity prediction
-
Dynamic Activity Search Criteria
- Utilizing the machine learning model to provide search criteria
- Input categories, subcategories, student ages, and class times
- Displaying relevant dynamic activities based on search criteria
-
PDF Study Plan Transformation
- Integration of GPT API to transform study plans into personalized schedules
- Recommending interactive activities based on transformed study plans
-
UI/UX Design and Styling
- Responsive design for various devices
- Styling using Bootstrap and Material Design for better user experience
-
Data Management and Database
- Storing user and activity data in the backend database
- Loading data as a dataframe in Python for machine learning
-
Educational Plan Alignment
- Adapting the model to align with the educational plan of SEP in Mexico
- Ensuring compatibility with the curriculum followed by all schools in the country
-
Error Handling and Notifications
- Displaying error messages and alerts for user interactions
- Providing informative notifications for successful actions
- Successfully developed and implemented a machine learning model for activity classification using Decision Tree and Random Forest classifiers, achieving an accuracy of 80%.
- Integrated Google Calendar API for dynamic event scheduling and display, enhancing user engagement and organization.
- Leveraged GPT API to transform PDF study plans into personalized schedules and recommended interactive activities, enriching the learning experience.
- Created a user-friendly and responsive web interface using Bootstrap and Material Design, ensuring accessibility across various devices.
- Aligned the educational plan of our platform with the guidelines set by SEP in Mexico, ensuring compatibility with the curriculum followed by all schools in the country.
- Implemented error handling and informative notifications, providing users with clear feedback and enhancing their overall experience.
- Established user authentication and authorization systems, ensuring data security and privacy.
- Developed a functional and interactive chatbot, enabling users to upload PDF files and receive customized teaching plans.
- Successfully collaborated as a remote team, overcoming communication challenges and maintaining effective coordination to achieve project milestones.
- Effective collaboration as a remote team, overcoming communication challenges and maintaining regular coordination.
- Hands-on experience in developing and implementing machine learning models, specifically using Decision Tree and Random Forest classifiers.
- Integration of third-party APIs, such as Google Calendar and GPT, to enhance the functionality of our web application.
- Front-end development skills, including creating responsive web designs using Bootstrap and Material Design, improving user experience.
- Project management and time management skills, as we faced tight deadlines and learned to prioritize tasks effectively.
How We Built It
Front-end:
We first started building the web page using [Bootstrap MDB (Material Design for Bootstrap)](https://mdbootstrap.com/) to achieve a responsive and visually appealing design. Bootstrap provided a range of responsive layout components and a grid system that made it easier to structure the page for different screen sizes and devices. The integration of Material Design elements from MDB enhanced the user experience, giving the page a modern and clean look. Additionally, MDB's styling and components helped streamline the development process, allowing us to focus more on functionality and user interactions.
API Services:
Google API
To integrate the Google Calendar API and OAuth 2.0 authentication into our web application, we first set up a project in the Google Cloud Console. Within the project, we enabled the Google Calendar API to access its functionality. Next, we obtained OAuth 2.0 credentials, which consist of a Client ID and a Client Secret. These credentials are necessary for the authentication process. To implement OAuth 2.0 authentication, we utilized the google.accounts.oauth2 library. When users interact with our web page and click on the "Authorize" button, it triggers the authentication process. Users are then redirected to the Google sign-in page, where they grant permission for our application to access their Google Calendar. Once the user grants permission, our web application receives an access token, which is used to make authorized API requests on the user's behalf. We use this token to interact with the Google Calendar API and retrieve upcoming events, create new events, and perform other calendar-related tasks.
GPT-3 API
Our text bot streamlines the process of enhancing study plans using the GPT API. Users upload their PDF study plans to the chat, and the bot decodes and transcribes the content into text strings. Additionally, a specific prompt is added to request improvements based on the study plan's content. The bot then sends a request to the GPT API, combining the transcribed text and prompt, to receive personalized recommendations for enhancing the study plan. The GPT API processes the request and generates a response with tailored suggestions. The bot converts the API response back into text strings, and the transcribed improvements are recoded into PDF format. Finally, the bot presents the user with an improved study plan in PDF format, providing a customized and interactive enhancement to their original document. This seamless integration empowers users to optimize their study plans effectively.
Backend
In the Jupyter Notebook, we implemented a machine learning model to recommend interactive content based on specific search criteria. The dataset was loaded into the Notebook using the Pandas library. We then defined conditions and activities for different categories, subcategories, student ages, and class times. Using NumPy, we applied the conditions to fill the 5th column of the dataset with corresponding activity numbers. The dataset was divided into features (X) and the target variable (y) for training the machine learning model. We utilized the RandomForestClassifier and DecisionTreeClassifier models from scikit-learn to train the data. After training, we evaluated the models' performance using accuracy and precision metrics on the test dataset. Additionally, we computed sensitivity and specificity to assess the models' effectiveness. To visualize the Decision Tree model, we used the graphviz library. We saved the trained Random Forest Classifier model using pickle and joblib libraries. The resulting model files, "EduHack.pkl" and "EduHack2.joblib," were successfully exported for later use in our web application. For a detailed view of the Jupyter Notebook and the code implementation, you can access it on Google Colab by clicking here And our data basehereChallenges We Ran Into
One of the main challenges we have encountered during the development of our project is the integration of various services, primarily due to the long-distance nature of our team. While each component, such as user authentication and authorization, interactive calendar integration, machine learning model, dynamic activity search criteria, and the GPT API for personalized study plan transformation, has been successfully developed independently, bringing them all together into a cohesive platform has proven to be more time-consuming than initially anticipated. Though we have faced delays in the integration phase, we are confident that our dedication and determination will lead us to successfully integrate all services, allowing us to proceed with the project's implementation and deliver a valuable educational resource for students in Mexico.Accomplishments That We're Proud Of
What We Learned
What's next for EduHack
A business plan is of paramount importance for our project as it serves as a comprehensive roadmap that outlines all key activities to succesfully implement this on our mexican country. Feel free to visit our Business Plan here.
Built With
- bootstrap
- gpt
- javascript
- jupyter-notebook
- mdb
- mongodb
- python
Log in or sign up for Devpost to join the conversation.