Skip to content

Commit cd3168e

Browse files
authored
Updated idea list
1 parent 02e4b4a commit cd3168e

File tree

1 file changed

+158
-26
lines changed

1 file changed

+158
-26
lines changed

docs/internships/gsoc/ideas-20250101.md

Lines changed: 158 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -112,31 +112,163 @@ Your solution should ideally consider the:
112112

113113
We will not support administrative functions in any of our mobile apps.
114114

115-
### Improved File Uploads and Security
115+
### Admin Plugins
116+
117+
1. **Description:**
118+
Fix and enhance the Talawa plugin system for improved extensibility, usability, and support for additional functionalities such as payment system integration. The current plugin system does not allow for the upload of source code into a predefined directory structure, limiting external contributions. This needs to be refactored to operate similarly to systems like WordPress plugins, VS Code extensions, and Chrome browser extensions.
119+
120+
2. **Expected Outcomes:**
121+
1. **Plugin System:**
122+
- Replace the existing plugin system with a more robust architecture allowing contributors to upload source code into a predefined directory structure.
123+
- Support multiple external contributors to the Talawa code base.
124+
- Operate similarly to WordPress plugins, enabling flexible and modular integrations.
125+
2. **Payment System Integration:**
126+
- Refactor the plugin system to allow selective uploads of code for integrating payment systems, on a per-provider basis.
127+
- Examples:
128+
- PayPal integration as one plugin.
129+
- Razorpay integration as another plugin.
130+
- Use the WordPress plugin methodology as a guide.
131+
- Maintain separate repositories (e.g., `Talawa-plugin-*`) for different plugins to support this functionality.
132+
3. **AI for Usability:**
133+
- **Primary Features:**
134+
- Implement AI-driven SPAM filtering.
135+
- Use AI for fact-checking comments.
136+
- **Secondary Features:**
137+
- Suggest improvements to event attendance.
138+
- Propose volunteers for events.
139+
- Generate announcements that yield better response rates.
140+
- Integrate AI functionality into a separate repository for scalability.
141+
4. **Refactoring:**
142+
- Reduce technical debt in the Talawa Mobile and Talawa Admin code bases.
143+
- Improve security to meet modern standards.
144+
145+
3. **References:**
146+
- https://github.com/PalisadoesFoundation/talawa-admin/pull/580#issuecomment-1463387821
147+
148+
4. **Repos to update:**
149+
- Talawa
150+
- Talawa-API
151+
- Talawa-Admin
152+
153+
6. **Depends on Project:** - N/A
154+
7. **Project Size:** - 400 hours (Large)
155+
8. **Possible Mentors:** - Tasneem
156+
9. **Difficulty:** - Medium
157+
10. **Impact Definition:** - Core development
158+
159+
---
160+
161+
### Refactoring - Talawa Mobile
162+
163+
1. **Description:**
164+
Refactor the Talawa Mobile code base to reduce technical debt, enhance performance, improve security, and optimize usability. Address specific issues related to notifications, event management, and UX improvements.
165+
166+
2. **Expected Outcomes:**
167+
- **Security Enhancements:**
168+
- Strengthen security, especially for file uploads, and implement measures to combat malicious content.
169+
- **Notifications:**
170+
- Build a robust notification system for Talawa Mobile.
171+
- **Event Guest Invitations:**
172+
- Introduce functionality to invite guests to events through the app.
173+
- **Semiotics for UX Improvement:**
174+
- Augment text with symbols to improve accessibility and usability for users with limited literacy.
175+
176+
3. **Repos to update:**
177+
- Talawa
178+
- Talawa-Mobile
179+
180+
5. **Depends on Project:** - N/A
181+
6. **Project Size:** - 300 hours (Large)
182+
7. **Possible Mentors:** Noman Khan
183+
8. **Difficulty:** - Medium
184+
9. **Impact Definition:** - Core development
185+
186+
---
187+
188+
### Refactoring - Talawa Admin
189+
190+
1. **Description:**
191+
Refactor the Talawa Admin code base to reduce technical debt, enhance security, and introduce new features. Focus on improving event management, offline capabilities, and chat functionality while ensuring the code meets modern best practices.
192+
193+
2. **Expected Outcomes:**
194+
- **Security Enhancements:**
195+
- Ensure secure handling of data and resolve any vulnerabilities in the admin panel.
196+
- **Event Guest Invitations:**
197+
- Add functionality to invite guests to events from the admin panel.
198+
- **Offline Capabilities:**
199+
- Enable offline functionalities for the admin interface to improve usability in low-connectivity scenarios.
200+
- **Chat Feature:**
201+
- Refactor the chat system for better performance and integration with other features.
202+
203+
3. **Repos to update:**
204+
- Talawa
205+
- Talawa-Admin
206+
207+
5. **Depends on Project:** - N/A
208+
6. **Project Size:** - 300 hours (Large)
209+
7. **Possible Mentors:** - Rishav
210+
8. **Difficulty:** - Medium
211+
9. **Impact Definition:** - Core development
212+
---
213+
214+
### Accessibility for Blind Users
215+
216+
1. **Description:**
217+
Enhance Talawa’s accessibility features to support blind and visually impaired users. This includes transcription for voice messages, text-to-speech functionality, screen reader integration, and voice-activated commands.
218+
219+
2. **Expected Outcomes:**
220+
- **Transcription for Voice Messages:**
221+
- Convert voice messages to text using the Google Speech-to-Text API.
222+
- Display transcriptions below voice messages.
223+
- Implement optional language detection for user-preferred language transcription.
224+
- **Text-to-Speech for Transcription:**
225+
- Provide TTS functionality using the Flutter TTS plugin to read transcribed text aloud.
226+
- **Screen Reader Integration:**
227+
- Ensure all voice messages and transcriptions are properly read by screen readers (e.g., TalkBack for Android, VoiceOver for iOS).
228+
- Ensure navigation compatibility with assistive technologies for seamless interactions.
229+
- **Voice-Activated Commands:**
230+
- Add support for voice commands to play recent messages, start recording, or access transcriptions without touch gestures.
231+
- **Media Playback:**
232+
- Implement a media player for seamless voice message playback with accessibility features.
233+
234+
3. **Repos to update:**
235+
- Talawa
236+
- Talawa-Mobile
237+
238+
5. **Depends on Project:** - N/A
239+
6. **Project Size:** - 300 hours (Large)
240+
7. **Possible Mentors:** - Noman Khan
241+
8. **Difficulty:** - Medium
242+
9. **Impact Definition:** - Inclusive development
243+
244+
245+
### Enhanced Testing
246+
247+
1. **Description:**
248+
Improve the testing strategy across all Talawa codebases to ensure high-quality, secure, and maintainable code. Address issues like memory leaks, poor business logic, and lack of comprehensive test coverage. Integrate AI-driven tools for testing automation and efficiency.
249+
250+
2. **Expected Outcomes:**
251+
- **Unit Testing with AI:**
252+
- Use AI tools like CodeRabbit.ai to create unit tests for all modules in the Talawa application.
253+
- **Memory Management Improvements:**
254+
- Utilize tools like Keploy or Tramline to optimize memory usage and reduce application bloat.
255+
- **End-to-End Testing:**
256+
- Perform E2E tests for the Talawa Admin and Mobile codebases using tools like Puppeteer and Jest.
257+
- Reference: [Talawa Admin Pull Request #580](https://github.com/PalisadoesFoundation/talawa-admin/pull/580#issuecomment-1463387821).
258+
- **Prevent Bad Practices:**
259+
- Implement mechanisms to catch and prevent poor coding practices, improving the codebase’s robustness and maintainability.
260+
261+
3. **Repos to update:**
262+
- Talawa
263+
- Talawa-Admin
264+
- Talawa-Mobile
265+
266+
5. **Depends on Project:** - N/A
267+
6. **Project Size:** - 300 hours (Large)
268+
7. **Possible Mentors:** - TBD
269+
8. **Difficulty:** - Medium
270+
9. **Impact Definition:** - Core development
116271

117-
1. **Description:** We need a better solution for handling files uploaded from Talawa clients. GraphQL is unsuitable for file access and, storing files in the code tree with only a `.gitignore` file as protection is risky.
118-
2. **Expected Outcomes:**
119-
1. Objects must be:
120-
1. Stored in a location outside the code tree
121-
2. Accessed using industry best practices and libraries that are unlikely to be deprecated or abandoned.
122-
3. Deduplicated.
123-
4. Encrypted whenever and wherever possible.
124-
5. Stored in the same way independent of their size, type or other characteristics.
125-
6. Screened for malicious content.
126-
2. Other
127-
1. By default, storage must be accessible via the system's locally accessible filesystem as a configurable parameter(s).
128-
2. The use of cloud storage services is discouraged at this time.
129-
3. **References:** There have been extensive discussions about this which should help in evaluating options.
130-
1. https://github.com/PalisadoesFoundation/talawa-api/pull/1168
131-
2. https://github.com/PalisadoesFoundation/talawa-api/issues/952
132-
4. **Repos to update:** Talawa, Talawa-API, Talawa-Admin
133-
5. **Skills Required:** Code stacks related to repos above. See introduction section.
134-
6. **Depends on Project:** N/A
135-
7. **Project Size:** 350 hours (Large)
136-
8. **Possible Mentors:**
137-
1. TBD
138-
9. **Difficulty:** Medium
139-
10. **Impact Definition:** Core development
140272

141273
## SwitchMap-NG Areas
142274

@@ -188,7 +320,7 @@ This created additional complexity in the configuration and management of the ap
188320
5. **Depends on Project:** `Enhanced SwitchMap-NG Scalability`
189321
6. **Project Size:** 350 hours (Large)
190322
7. **Possible Mentors:**
191-
1. TBD
323+
1. Aashima Wadhwa
192324
8. **Difficulty:** Medium
193325
9. **Impact Definition:** Risky/Exploratory
194326

@@ -241,7 +373,7 @@ For the purposes of this section, the term `polling` should be interpreted as pe
241373
5. **Depends on Project:** `Enhanced SwitchMap-NG Web Features`
242374
6. **Project Size:** 350 hours (Large)
243375
7. **Possible Mentors:**
244-
1. TBD
376+
1. Dominic Mills
245377
8. **Difficulty:** Medium
246378
9. **Impact Definition:** Risky/Exploratory
247379

0 commit comments

Comments
 (0)