You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -112,31 +112,163 @@ Your solution should ideally consider the:
112
112
113
113
We will not support administrative functions in any of our mobile apps.
114
114
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.
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.
- 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
116
271
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.
0 commit comments