GSoC Ideas
These ideas are subject to change at any time prior to us submitting our GSoC Organization application. Ideas may be added, removed or updated up to this time.
- If we are accepted, there may be additions and minor modifications.
- Mentor assignments may be adjusted throughout the evaluation period
Introduction
Welcome to our GSoC ideas page!
These are the minimum requirements. We encourage you to expand on them.
Repository Languages and Skills
Here is a list of basic skills that will be required for each repository.
- Talawa: Flutter / Dart, GraphQL
- Work will be applied to the
developGitHub branch
- Work will be applied to the
- Talawa-API: Typescript, GraphQL, PostgreSQL with the Drizzle ORM
- Work will be applied to the
developGitHub branch
- Work will be applied to the
- Talawa-Admin Portal: TypeScript
- Work will be applied to the
developGitHub branch
- Work will be applied to the
There are others, but these are the primary ones that will guide your contributions.
Impact Definition
We have categorized the various ideas according to the degree of impact they will have to the project. Use these definitions to understand how each idea will affect our overall project goals.
- Low-hanging fruit: These projects require minimal familiarity with the codebase and basic technical knowledge. They are relatively short, with clear goals.
- Risky/Exploratory: These projects push the scope boundaries of our development efforts. They might require expertise in an area not covered by our current development team. They might take advantage of a new technology. There is a reasonable chance that the project might be less successful, but the potential rewards make it worth the attempt.
- Fun/Peripheral: These projects might not be related to the current core development focus, but create new innovations and new perspective for our project.
- Core development: These projects derive from the ongoing work from the core of our development team. The list of features and bugs is never-ending, and help is always welcome.
- Infrastructure/Automation: These projects are the code that our organization uses to get our development work done; for example, projects that improve the automation of releases, regression tests and automated builds. This is a category in which a contributor can be really helpful, doing work that the development team has been putting off while they focus on core development.
Difficulty
Most of our project ideas require knowledge of two or more programming languages. Meaningful PRs that prove your understanding of the repos will always be beneficial. We have created testing issues specifically for this purpose.
- Hard: Requires dominion of the language used by the repo most affected by the project. A good working knowledge of the languages used by other affected repositories will be needed.
- Medium: A good working knowledge of the languages used by affected repositories will be needed.
- Easy: A beginner's level knowledge of the languages is sufficient.
Projects - Road Map
This is a list of our projects related to our product road map.
Talawa Communication Enhancements
- Description: Talawa's communication functionality needs to be expanded for both the mobile and web applications.
- Enhanced Features:
- Chat The current chat feature lacks expected features. We require the following functionalities which need to be added:
- Search
- Delete chat message
- Pinning chat messages
- Leave group chats
- Allow users to share multiple images & videos
- Send voice messages
- React to messages
- Implement encryption
- Report & block users/messages
- Purge older chat messages
- Notifications: The current Talawa notification system needs to be enhanced with the following functionalities:
- Self hosted notifications as they currently rely on third party integrations.
- Identify actions in the app that trigger notifications.
- Ensure dynamic content (e.g., {username}, {postTitle}) is included in notifications.
- Highlight critical notifications with urgency (e.g., red icons for high-priority alerts).
- Provide short, actionable notification content with clear links.
- Design a scalable architecture to support notifications across mobile and web platforms.
- Provide options for users to Mark as Read, Clear Notifications (individual/all), and View History.
- Work with the admin interface to define and update notification templates as needed.
- Chat The current chat feature lacks expected features. We require the following functionalities which need to be added:
- Other Related Communication Features: We know you can think of other chat related features that would be useful. Please add them to your proposal.
- Enhanced Features:
- Expected Outcomes: In addition to the outcomes described above, the following must also apply:
- All tests must pass and be valid.
- The overall test code coverage of the repo and individual code files must in all cases be greater than 95%.
- Repos to update: Talawa-API, Talawa-Admin, Talawa
- Skills Required: Code stacks related to repos above. See introduction section.
- Depends on Project: None
- Project Size: 350 hours (Large)
- Possible Mentors: Meetul Rathore
- Difficulty: Hard
- Impact Definition: "Core development"
Universal QR Attendance & Check-In System
- Description Develop a secure, mobile-first check-in system. Administrators will generate event-specific QR codes via the web portal, and members will use the Talawa mobile app to "scan in," automatically updating the organization's attendance database.
- Enhanced Features: The current Talawa events management system needs to be enhanced with the following functionalities:
- Gap Analysis: Currently, Talawa lacks an automated way to track event attendance. Admins must manually verify members, which is inefficient for large gatherings or recurring meetings.
- User Persona:
- Administrators and Members managing events.
- Members attending them.
- The Impact: This feature transforms the event experience by allowing "frictionless entry." It provides administrators with instant, accurate data on community engagement levels while giving members a modern, digital "ticket" experience within their app.
- Other Features: We know you can think of other chat related features that would be useful. Please add them to your proposal.
- Enhanced Features: The current Talawa events management system needs to be enhanced with the following functionalities:
- Technical Tasks:
- Repository Tasks: These general tasks will be required:
- Backend: Create a check-in validation service and secure token generation (JWT) in
talawa-api. - Mobile: Implement a QR scanner view using native device capabilities and a "My Passes" section in the user profile.
- Web: Build a real-time attendance monitor and QR generator in the
talawa-adminevent dashboard.
- Backend: Create a check-in validation service and secure token generation (JWT) in
- Key Dependencies: Mobile Camera Permissions; API Event Schema extension; Secure Token Logic.
- Repository Tasks: These general tasks will be required:
- Expected Outcomes: In addition to the outcomes described above, the following must also apply:
- All tests must pass and be valid.
- The overall test code coverage of the repo and individual code files must in all cases be greater than 95%.
- Repos to update: Talawa-API, Talawa-Admin, Talawa
- Skills Required: Code stacks related to repos above. See introduction section.
- Depends on Project: None
- Project Size: 175 Hours (Medium)
- Possible Mentors: Dominic Mills
- Difficulty: Medium
- Impact Definition: "Core development"
Booking and Donations
- Description Enhance several key Talawa features.
- Booking Design a centralized booking system where administrators list "Resources" (facilities or equipment). Members can then check availability via a calendar and request a time slot.
- Enhanced Features: The current Talawa events management system needs to be enhanced with the following functionalities:
- Gap Analysis: Many communities share physical assets (vans, projectors, clubrooms). Talawa lacks a scheduling layer to manage these, leading to scheduling conflicts and underutilized resources.
- User Persona: Members requesting resources and Admins overseeing assets.
- The Impact: This maximizes the "sharing economy" within a community. It makes shared assets more accessible and organized, reducing the need for external spreadsheets or paper sign-up sheets.
- Technical Tasks:
- Logic: Build a calendar-based availability engine in the API using PostgreSQL date/time functions to prevent double-booking.
- Mobile: Create a "Resource Catalog" where members can view details and submit booking requests.
- Admin: Develop an approval workflow in the admin portal for resource managers.
- Repository Tasks: These general tasks will be required:
- Key Dependencies: Time-slot conflict resolution logic; Calendar UI components (Mobile & Web).
- Donations Build a robust financial engine that supports both one-time donations and recurring membership dues. This project focuses on a modular approach, ensuring the core remains "light" while using the plugin system for payment processing.
- Enhanced Features: The current Talawa financial system integration needs to be enhanced with the following functionalities:
- Gap Analysis: Talawa's roots in community based organization management lacked a generalized, secular financial module. There is currently no way for a club to collect membership dues or a charity to run a specific fundraising campaign.
- User Persona:
- Treasurers/Admins.
- Supporting Members.
- The Impact: By centralizing finances, organizations can maintain transparency and sustainability. Members can support their community directly through their mobile devices, increasing the likelihood of contributions through convenience.
- Other Features: We know you can think of other chat related features that would be useful. Please add them to your proposal.
- Enhanced Features: The current Talawa financial system integration needs to be enhanced with the following functionalities:
- Technical Tasks:
- Repository Tasks: These general tasks will be required:
- Integration: Implement a secure payment gateway (Stripe/Others) via the
talawa-pluginarchitecture. - Database: Design PostgreSQL schemas for tracking transaction history, gift aid (where applicable), and recurring payment tokens.
- UX: Create a "Give/Pay Dues" interface in the mobile app with status tracking.
- Integration: Implement a secure payment gateway (Stripe/Others) via the
- Key Dependencies: PCI-compliant gateway (Stripe/Others); Secure environment variable management; Webhooks for real-time confirmation.
- Repository Tasks: These general tasks will be required:
- Enhanced Features: The current Talawa events management system needs to be enhanced with the following functionalities:
- Booking Design a centralized booking system where administrators list "Resources" (facilities or equipment). Members can then check availability via a calendar and request a time slot.
- Expected Outcomes: In addition to the outcomes described above, the following must also apply:
- All tests must pass and be valid.
- The overall test code coverage of the repo and individual code files must in all cases be greater than 95%.
- Repos to update: Talawa-API, Talawa-Admin, Talawa
- Skills Required: Code stacks related to repos above. See introduction section.
- Depends on Project: None
- Project Size: 350 Hours (Large)
- Possible Mentors: Md. Noman Khan
- Difficulty: Medium
- Impact Definition: "Core development"
Projects - Custom
Custom ideas add to the existing repos in ways we would not have foreseen. They must:
- Use existing Palisadoes Foundation Talawa* code repositories
- Add complementary features to one or more existing Palisadoes Foundation Talawa* code repositories
Custom ideas are not for new Palisadoes Foundation Talawa* code repositories.
Artificial Intelligence (AI)
If you plan to use AI in your Custom proposal, we prefer the use of free open source models, preferrably small enough to run on an entry level non-GPU server.
Custom (Small)
Note: It's important that you append a brief 3-4 word description to the name of your Custom idea. This will make it uniquely identifiable. It could assist us in selecting one or more Custom ideas. For example if your Custom idea is to improve the deployment of foo, you could name your project Custom (Small) - Foo Bar. The title must have the string Custom (Small) in it.
- Description: Do the ideas need something more? What completely new thoughts could be applied to the existing ideas? If you have answers to these questions then this section is for you.
- Expected Outcomes: Your proposal must meet the guidelines below. It must:
- Not depend on other participants. There should be minimal impact by other participants disappearing or doing a very bad or very good job.
- Add completely new features not previously stated in ideas.
- Create features that users will want or facilitate new features that will be the groundwork for features that they would want.
- Be suitable for use by most non-profit organization.
- We are not interested in membership subscriptions and any related financial management at this time.
- Justify 90 hours of work.
- Repos to update: Talawa, Talawa-API, Talawa-Admin
- Skills Required: Code stacks related to repos above. See introduction section.
- Depends on Project: N/A
- Project Size: 90 hours (Small)
- Possible Mentors: TBD
- Difficulty: Disha Talreja
- Impact Definition: Risky/Exploratory
Custom (Medium)
Note: It's important that you append a brief 3-4 word description to the name of your Custom idea. This will make it uniquely identifiable. It could assist us in selecting one or more Custom ideas. For example if your Custom idea is to improve the deployment of foo, you could name your project Custom (Medium) - Foo Bar. The title must have the string Custom (Medium) in it.
- Description: Do the ideas need something more? What completely new thoughts could be applied to the existing ideas? If you have answers to these questions then this section is for you.
- Expected Outcomes: Your proposal must meet the guidelines below. It must:
- Not depend on other participants. There should be minimal impact by other participants disappearing or doing a very bad or very good job.
- Add completely new features not previously stated in ideas.
- Create features that users will want or facilitate new features that will be the groundwork for features that they would want.
- Be suitable for use by most non-profit organization.
- We are not interested in membership subscriptions and any related financial management at this time.
- Justify 175 Hours (Medium) of work.
- Repos to update: Talawa, Talawa-API, Talawa-Admin
- Skills Required: Code stacks related to repos above. See introduction section.
- Depends on Project: N/A
- Project Size: 175 Hours (Medium)
- Possible Mentors: Kevonia Tomlinson
- Difficulty: Medium
- Impact Definition: Risky/Exploratory
Custom (Large)
Note: It's important that you append a brief 3-4 word description to the name of your Custom idea. This will make it uniquely identifiable. It could assist us in selecting one or more Custom ideas. For example if your Custom idea is to improve the deployment of foo, you could name your project Custom (Large) - Foo Bar. The title must have the string Custom (Large) in it.
- Description: Do the ideas need something more? What completely new thoughts could be applied to the existing ideas? If you have answers to these questions then this section is for you.
- Expected Outcomes: Your proposal must meet the guidelines below. It must:
- Not depend on other participants. There should be minimal impact by other participants disappearing or doing a very bad or very good job.
- Add completely new features not previously stated in ideas.
- Create features that users will want or facilitate new features that will be the groundwork for features that they would want.
- Be suitable for use by most non-profit organization.
- We are not interested in membership subscriptions and any related financial management at this time.
- Justify 175 Hours (Large) of work.
- Repos to update: Talawa, Talawa-API, Talawa-Admin
- Skills Required: Code stacks related to repos above. See introduction section.
- Depends on Project: N/A
- Project Size: 175 Hours (Large)
- Possible Mentors: Md. Noman Khan
- Difficulty: Large
- Impact Definition: Risky/Exploratory