High-Level Project Summary
According to the project description, the main problem was the inability of both beginners and advanced professionals to find the training they need to apply EO. So, our gateway project, which is based on including different resources of training for the users that they navigate through and choose what they want, clearly solves the issue and gives these people the opportunity to take the training from a trusted resource. It's highly important since, besides providing the users with training resources, it will have some features that are related to user experience, and these features will help in making the experience of the user on the platform a better one.
Link to Final Project
Link to Project "Demo"
Detailed Project Description
Main Objective: Address the needs of a variety of communities by providing professionals and different users with the resources needed to apply EO and to have a good experience navigating through the website.
Benefits:
1- Gives the users chance to have many trusted resources to apply EO.
2- Provides the users with a very good experience in terms of navigation and search engine
3- Gives recommendations for the users on what to choose.
Features:
1- Database of trusted websites( websites from governments, international NGOs and entities, UN, etc.)
2- Search engine: internal search engine ( searching is restricted by keywords related to the content of the websites they are looking for)
3- Browse the database
4- Advanced filters: filters by areas, languages, countries, levels
5- Sign-up/Sign-in
6- Library Page: resources for trainings and extra material will be there
Items:
Items are dependent on many things:
1- Categories: type of website and content of the website
2- Timestamp
3- ID
4- Label: Keyword
Users:
Characteristics:
- Age( to align on getting age from the website( date of birth))
- Education/Expertise (deducted from company and job position)
- Company
- Job title
Digital Information:
- Acquisition, where users come from, referral, social media, etc.
- Device used
- Nb of credits and its changes
- New/old user
- Number of visits to the website
Geographic:
- Country
Feedback:
1- Positive Feedback: Like/Dislike the resource choice
2- Negative Feedback
3- Read Feedback
Software Used: WordPress
Recommendation System Used: Gorse ( A brand new recommendation system)
Gorse is an open-source recommendation system written in Go. Gorse aims to be a universal open-source recommender system that can be easily introduced into a wide variety of online services. By importing items, users, and interaction data into Gorse, the system will automatically train models to generate recommendations for each user. Project features are as follows.
- Multi-source Recommendation: For a user, recommended items are collected in different ways (popular, latest, user-based, item-based, and collaborative filtering) and ranked by click-through rate prediction.
- AutoML: Choose the best recommendation model and strategy automatically by model searching in the background.
- Distributed Recommendation: Single node training, distributed prediction, and ability to achieve horizontal scaling in the recommendation stage.
- RESTful API: Provide RESTful APIs for data CRUD and recommendation requests.
- Dashboard: Provide a dashboard for data import and export, monitoring, and cluster status checking.
Gorse is a single-node training and distributed prediction recommender system. Gorse stores data in MySQL, MongoDB, PostgresSQL, or ClickHouse, with intermediate data cached in Redis.
- The cluster consists of a master node, multiple worker nodes, and server nodes.
- The master node is responsible for model training, non-personalized item recommendation, configuration management, and membership management.
- The server node is responsible for exposing the RESTful APIs and online real-time recommendations.
- Worker nodes are responsible for offline recommendations for each user.
In addition, the administrator can perform system monitoring, data import and export, and system status checking via the dashboard on the master node.
Space Agency Data
1- https://appliedsciences.nasa.gov/what-we-do/capacity-building/arset
2- http://appliedsciences.nasa.gov/sites/default/files/2022-07/ARSET_Trainings.xlsx
3- https://www.nasa.gov/search/tips/SE_INT_Tools_For_Searching.html
4- https://neo.gsfc.nasa.gov/about/wms.php
5- European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) training
Hackathon Journey
The space apps experience is a life-changing experience where in a short time and with a very strict and short deadline, you are asked to choose a challenge, form a team and solve an issue through integrating several technical and business requirements at the same time. We learned how we can manage a project in a short time and how we can enhance the user experience while forming an online platform. What inspired us to choose this challenge is the huge need for training resources by professionals and learners, as the field of RO is a very important and advanced one.
The approach to developing the project was to study first the problem and the business requirements of the project. Then, we did the user stories where we translated our business requirements to technical ones, and then we did a scheme that shows the features and the constraints that we have. We have put the engineering requirements, and the technical and non-technical requirements of doing our project, and afterwards, we did a plan that enhances the user experience. After that, we started doing the prototype, where we implemented part of the project, and our future plan is to continue development and integrate some machine learning into our platform.
We faced a lot of challenges, especially problems in time zone differences and change of team members on the last day; however, if there is a will to try and do something new, then nothing will stop you.
References
https://docs.gorse.io/introduction/

