Our GSoC 2023 Participants

It is time to announce the participants for in The Palisadoes Foundation’s 2023 Google Summer of Code! We are very proud to announce the names of the 8 participants this year who will be funded by Google to work on our Talawa projects.

These recipients represent the very best of the many excellent proposals that we had to choose from. For those unfamiliar with the program, the Google Summer of Code brings together ambitious open source newcomers from around the world with open source developers by giving each mentoring organization funds to hire a set number of participants. These participants then write proposals, which they submit to a mentoring organization, in hopes of having their work funded.

There were many excellent proposals and the final selection was difficult. Congratulations to this group. We hope they and others will continue to contribute to the projects to allow us to launch an MVP in 2023.

You can learn more about the contributors who will be working with The Palisadoes Foundation this summer listed with their mentors and their proposal abstracts below.


Kanishka Bansode

Project: API: Improved Backend Performance and Security

Mentors: Mentors: Kevonia Tomlinson and Rumone Anderson

Abstract:

The backend has some known deficiencies that need to be addressed.

  1. The current GraphQL implementation does not follow best practices. Many anti GraphQL patterns are used that must be rectified.
  2. The resolvers need to be batched to avoid N+1 query problem in GraphQL.
  3. Computationally expensive relation fields in the schema should be optimized
  4. There needs to be a query cost analysis system to optimize database loads.
  5. There needs to be strict input validation system.
  6. There is security by obfuscation where capabilities are not presented to the user, but are still available. This allows for malicious actors to adversely affect organizations.
  7. Data is insufficiently encrypted.
  8. There needs to be a proper system in place to monitor changes in the GraphQL schema in such a way that clients are adequately notified such that their operation can be appropriately modified.

And much more!


Rishav Jha

Project: Admin: UI Redesign

Mentors: Anwer Sayeed and Muskan Modi

Abstract:

The current Talawa-Admin design is insufficiently intuitive. There are also many buttons that are unused without any indication that they are disabled. We need a UI that considers the users’ perspective. This should be done with the following general considerations

  1. Deployment: We want to avoid the size of any required initial monolithic change. Changes must be incremental, possibly one screen at a time. All tests must pass with each change.
  2. Layouts: Layouts will need to be created for use by other members to implement features. This may be facilitated by creating standardized, modular templates for commonly expected functions that could be added to the repository.
  3. Devices: The new design must be reactive, automatically adjusting the layout for all sizes of screens including but not limited to desktop, laptop, tablet and phone devices.
  4. Timeliness: The changes will need to be done on a weekly basis. The rest of the community will need to be made aware of changes so that they can add functionality.
  5. Placeholders: We want placeholder links for all planned features as a reminder that they need to be implemented. These unused placeholders should be greyed out.

And much more!


Kukade Siddhesh Bhupendra

Project: Mobile App: Creating new features and refactoring existing features into Plugins

Mentors: Tasneem Koushar

Abstract:

There are a number of features that while useful are not absolutely necessary for the base Talawa app and would be better suited as plugins. The goal of this task is to refactor the existing plugins such as Newsfeed Advertising, Spam Mitigation, Inter-group Messaging, Analytics Integration, Check-ins functionality, etc. We recommended that you use our Plugin Guide. The scope of the Newsfeed Advertising and Spam Mitigation are given below. They can act as a template for the any additional plugins you wish to discuss with the mentors.

And much more!


Ayush Chaudhary

Project: Mobile App: Improved Member Management and News Feed

Mentors: Md Noman Khan and Aditya Birangal

Abstract:

We need to generally improve the way the apps interact with the general membership through the use of the Talawa-Admin portal. For example:

  1. Community organizations will not want to have open membership. At the moment anyone knowing the Talawa-API URL can join an organization. This could create opportunities for malicious actors.
  2. Community organizations need to be able to send notifications to all, or groups of members. This could be required for natural disasters, fundraisers, functions or other significant events. Similarly, mobile app users should be able to notify administrators of inappropriate behavior with the administrator having the ability to alert and eventually take disabling actions from the Admin panel.

And much more!


Aashima Wadhwa

Project: Admin: Improved People and Newsfeed Management

Mentors: Tyrone Taylor, Anthony Brown and Ritik Kumar Srivastava

Abstract:

The Talawa admin panel does not intuitively manage people assigned to an organization. We need:

  1. People and Tags: The ability to easily:
    1. see listings of users
    2. search and filter for users by assigned tag or profile characteristic
    3. implement CRUD management for all
  2. Newsfeed: The ability to easily:
    1. view and post to the Talawa newsfeed
    2. respond to reported newsfeed posts and take appropriate action
    3. pin posts to the top of the newsfeed

And much more!


Eshaan Aggarwal

Project: Admin: Improved Event Management

Mentors: Dominic Mills and Ritik Kumar Srivastava

Abstract:

There are many ways in which event management could be improved for the benefit of administrators who are constantly having to manage their volunteers and track the successes of the events they manage.

  1. Volunteer Management: The mobile app allows people to create calendars and add volunteers for specific roles. This is good for creating ad hoc events by organization members. There needs to be a way for the organization’s administrators to manage event volunteers:
  2. Checkins: We need a way for Admin users to track who attended what event and when. Administrators cannot depend on people using their phones to do this, so it will need to be done by volunteers using Talawa-Admin. This is important for many reasons:
    1. Security: Some organizations have events that provide child care.
    2. Management: The ability to track attendance trends and investigate ways to improve it.

And much more!


Noble Mittal

Project: Hybrid: Hybrid Innovation

Mentors: Eva Sharma and Ritik Kumar Srivastava

Abstract:

Talawa can only be accessed by regular users via the mobile app. We feel that greater functionality could be provided via a web based app to make Talawa accessible to a bigger audience. It could also allow Talawa administrators to delegate day to day tasks that could be better handled by trusted volunteers.

And much more!


Ravi Dev Pandey

Project: API and Mobile App: E2E encryption and security improvement in Talawa and Talawa-API

Mentors: Md Noman Khan and Nishnata Debnath

Abstract:

Currently passwords from the frontend are sent on plain text format to the server which is not good to have since these can we tracked by tracing HTTP calls over the network. We want to improve this and send password in SHA256 format beforehand to discourage such tracing and minimize direct attacks on server. We also want that our servers should only respond to authorized clients hence we figured out to implement SSL pining. In our case we cannot do this by hard-coding the certificated in our client rather we would have to do is dynamically by publicly sending a signed certificate only when the user is authorized added he can only download that once per login. This requires changes to be made on Talawa GraphQL client and in the Talawa-API to be able to send signed certificate. Followed by this we want our users to not think of there privacy just focus on sharing text to their peers by making there chat private to them only.

And much more!