This task involves creating a fully functional iOS application iOS Application:
This task involves creating a new iOS application that will leverage the existing Agora API to provide another way for Agora web users to use the platform using their iOS devices. This application should provide a great user experience and design. Testing should be considered as one major unit of this task. A candidate is expected to provide mockups of the different components of the application and have a good background in iOS application design.
A fully functional iOS application that follows the best design principles.
* Swift knowledge
* iOS development knowledge
* UI/UX design
Note: The candidates are required to provide prototypes of the application for this task
Mentors: Thuvarakan (gitter: @Thuva4)
The project has reached a stage where the basic features have been built, tested and deployed. The basic features include user login (to assign credibility while reporting an incident), real-time feed, incident reporting. This year the focus is going to be on bug fixing, adding some new features scalability, availability, making both the application and the server production-ready and eventually pushing the app to the general public.
This task involves creating a production-ready application and webserver. The main focus is going to be fixing bugs, utilising Kubernetes to make application scalable and DevOps easier, migrating database from Firestore to MongoDB running on GKE as a stateful set. Then adding new features ( Example Link ) that enhance user experience and make application more robust.
Deliverables: Mostly task based, Production-ready web application and server.
Required Skills: Knowledge of ReactJS, Firebase (specially Firestore), Django, Knowledge of NoSQL databases, Microservices, Docker, Kubernetes
Note: Candidates are required to raise MR for at least one of the potential features. Extra points on top of it if and only if the candidate can provide correct documentation/steps for migration to Microservices architecture.
Mentors: Hitesh Kumar Rawat
* Build Slagora bot from scratch. Users interact with Slagora by using only slash commands. The bot will come in handy to improve user interaction with the application. Most functionalities of the app could be done using the bot. All slash command features should be made available as user bot interactions. For example, instead of using slash commands to create a poll a user might simply type the following @slagora new poll and the bot will respond by Hello @abanda would you like to start a new poll? , then the user responds by typing yes. Candidates are required to come up with additional features that could be added to the bot.
* Build a frontend for the application. This will need to expose the App through a REST API. Users should be able to manage all their slack polls a d election directly from the website. The application will thus be separated as a REST API and a frontend. The frontend will provide a means to easily manage their slack polls with a beautiful and intuitive interface.
* Production ready slack application
* Production ready web application
Required Skills: Scala, Knowledge of Angular and Angular Universal, UI/UX design, Knowledge of Slack API, Familiar with REST API development using Scala Play framework, Familiar with Swagger tool for API documentation
Note: The candidates are required to provide prototypes of the frontend for this task
Mentors: Abanda (Gitter: @icemc), Bomen Derick(Gitter: @ponsipi_gitlab)
1) Create feature for agora web to allow guest users to create polls. Guess users are normal website visitors that can create polls on the go without having an account in the system. This feature will allow guest users create polls and share the link.
2) Build Agora web frontend from scratch using our available mockups and UI designs. Candidate with strong background in UI design are welcome to add extensions to our provided mockups and UI design. This will also include an improvement in our email designs.
Required Skills - Scala - Knowledge of Angular and Angular Universal - UI/UX design - Familiar with REST API development using Scala Play framework - Familiar with Swagger tool for API documentation
Note: The candidates are required to provide prototypes of the frontend for this task
Mentors: Abanda(Gitter: @icemc), Chirag Singhal(Gitter: @chirag-singhal)
Mentors: Madhav Gaba (Gitter: @madhavgaba_gitlab)
Solve only the issues with "Pre GSoC qualifiers" tag. The tasks will contain -
- Fixing the existing tests.
- Fixing documentation and missing links.
- Suggesting a concrete plan for CI/CD, and its implementation in Phase 1.
- Enabling CI/CD from Gitlab/GitHub mirror repo. Ensuring well documentation/ tutorial of how we implement CI/CD for our API.
Task 2 -
- Export data from google fit using Oauth tokens.
- Adding documentation, storing data in user collection in the DB.
- Display in the daily heatmap.
- Document the new schema and google fit integration.
Task 3 -
* Dockerize the whole application, expose ports for MongoDB at mlab, and other connected applications like Auth0.
* Push a public image of the docker on every push to the gitlab master repository. (CI/CD)
* Ensure secret env
* Error handling using sentry logging, make sure to add filters(available with sentry) to remove sensitive user data to logger.
Mentors: Saisankar Gochhayat(Gitter: @saisankargochhayat), Raghavendra Vedula
Contributors can submit the proposals around the following functionalities.
Main expected deliverables are production ready APIs and Chrome extension:
* Improve Frontend: Improve the frontend of chrome extension and offer users more functionalities like hide/unhide, report a post as fake or offensive etc.
* Keep the Fake News API up and running 24/7: Our fake news API requires news to be scraped from the trusted news sources, develop methods to make sure the proper functioning of this API while consuming minimum compute possible (you may use cloud services lambda functions for this task).
* Shift News Origin functionality to frontend: Our News Origin API fact check by making google searches with the query, currently we only have limited google search API keys so we can't scale it to multiple users, think and develop of the ways to get around this problem (ideal would be to make this whole functionality on user end so he can get their separate API key). Using stance detection techniques in this feature can also be a good option.
* Disinformation in images: There are loads of images on internet that are used to propagate disinformation, users post images irrelevant to the news to spread propaganda. Make a google reverse image like functionality that can get the correct context of the image when asked by the user. Integrate this functionality with chrome extension.
* Make use of the fact checking websites: Many fact checking organisations are doing a commendable job in debunking the disinformation online. But the reach of these websites are limited and their content is not delivered to many people. Develop functionality to make use of their content, potential contributors can add functionality that enables extension to know the topic of articles on user's web page and then show the articles by fact checking organisations on the same subject.
* Add CI/CD support, add automated testing and and extend test coverage.
* New Functionality: Propose a new functionality/algorithm that can improve the existing methods of disinformation detection, you may consider multi-modal, graph based methods or add model explainability in existing or your works. Potential contributors are strongly advised to follow the works of researchers in the field of disinformation and make their proposals accordingly.
Mentors: Utsav Shukla(Gitter: @us241098), Amardeep Kumar(Gitter: @ad_6398_gitlab)
Make AOSSIE scholar a Google chrome extension like our other project "Carbon Footprint".
-Understand the existing code and need of the app.
-Understand the data that is being scraped from the Google Scholars website and research about the data policy of Google Scholar.
-Convert the current app a Google Chrome extension so that the conflicts of data policy can be resolved.
-Write unit tests and integration tests for testing the single unit methods required within the app and also a single profile rendering process using the data parent in the database.
-once you are able to convert in into an extension of google, you must improve it's performance.
-A good-looking UI is always impressive.
Apart from these, ideas from the students would be significant for the selection.
Note: Students submitting any ideas, from the ones mentioned or by own, need to have sufficient merge requests to prove the capability.
Mentors: Manikaran (gitter: @Manikaran20)