Skip to content

Commit

Permalink
adding workflow for gsoc 2024 projects (#899)
Browse files Browse the repository at this point in the history
  • Loading branch information
tasneemkoushar authored Dec 1, 2024
1 parent c88d6ca commit 82ac16a
Show file tree
Hide file tree
Showing 20 changed files with 220 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
id: chat_notification_system
title: Chat Notification System
---
## project
The aim of the project is to develop a self hosted chat for Talawa which facilitates communication amongst users and notifications. Key deliverables of the project are:
1. Chat hoisted on the API server
2. Available for 1 to 1 and 1 to many (group chat) options
3. Automatically available to registered attendees of events as a dedicated group chat instance.
4. Encrypted whenever and wherever possible
5. Capable of allowing users to reply to any historical comment.
6. Allow administrators to respond in various ways to complaints about chats.
7. Have the ability for older chats to be purged from the system 8. Handle notifications on the local server

## project flow
![alt text](image.png)

## Future Development Scope
- Encryction-decryption logic could be improvised

## contributor
[Disha Taneja](https://github.com/disha1202)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
id: event-attendance
title: Event Attendance
---

## Project
This project will transform Talawa's event management capabilities. Administrators will gain valuable data-driven insights, streamlined workflows, and the ability to optimize events for maximum attendance and engagement

## Workflow
![alt text](image.png)

## Future Development Scope

## Contributor
[Shekha Patel](https://github.com/duplixx)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
id: improved-file-upload-and-security
title: Improved File Upload And Security
---

## Project
The project aims to find a better solution for handling files uploaded from Talawa clients. It seeks to store files outside the code tree, access them using reliable libraries, deduplicate files, encrypt them, store them consistently regardless of their characteristics, and screen them for malicious content. Additionally, the default storage must be accessible via the system's locally accessible filesystem, with cloud storage services discouraged.

## Solution Walthrough
- This project aim to avoid security threat of storing files in the project directory.
- Work done under this GSoC'24 project are below:
- Storing files in an open-source object storage system `minio`
- Adding all the CRUD operations for the minio integration
- Handling duplicate files using hashing
- Isolated the file upload APIs from other graphql APIs since these file upload APIs are Restful APIs
- File encryption
- Ensuring backup for both minio and mongoDb
- Admin & Org Admin will have access to take backup in minio server instance hosted in the our API server

## Rational on using REST API over Graphql
- GraphQL doesn't natively support uploads while REST APIs does.
- If graphQl would have been used then we would have to use 3rd party clients like appollo and though would increase the latency.
- GraphQl APIs inefficient when file size increases, hence would have affected streaming and downloads

## Libraries & SDKs used
- [aws sdk for minio operations](https://aws.amazon.com/sdk-for-javascript/)
- [npm package](https://www.npmjs.com/package/aws-sdk)

## Future Development Scope

## Contributor
[Aman Singh Chandel](https://github.com/chandel-aman/)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
id: tag_management_system
title: Tag Management System
---

## Project Idea
At present, Talawa lacks a robust Tag Management System.
While the basic CRUD functionalities for user-specific tags have been implemented in the backend,
these have not been incorporated into the frontend.
Furthermore, the project does not currently support tags for other
objects such as Events, Posts, Venues, etc. This proposal aims to enhance the tag management features,
making them more effective and appealing. This will be achieved by
improving the functionalities of user tags (for example, by adding support for hierarchical tags,
automatic tags, group tag operations, etc.), and by establishing additional object-tag relations,
such as Event tags, Post tags, etc.

## Changes done during GSoC'24
- functionality to add parent-child tag
- CRUD operations based on tags
- Tag management (assignment-unassignment)
- Tag search functionality
- Filter user list owning the tag


![alt text](image.png)
![alt text](image-1.png)
![alt text](image-2.png)
![alt text](image-3.png)
![alt text](image-4.png)
![alt text](image-5.png)
![alt text](image-6.png)
![alt text](image-7.png)

## Future Development Scope

## Contributor
[Meetual Rathore](https://github.com/meetulr)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
id: talawa_event_plugin
title: Talawa Event Plugin
---

## project
This project will transform Talawa's event management capabilities. Administrators will gain valuable data-driven insights, streamlined workflows, and the ability to optimize events for maximum attendance and engagement

## work flow
![alt text](image.png)

## Future Development Scope

## contributor
[Parag Gupta](https://github.com/Dante291)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
id: volunteer-management
title: Volunteer Management
---

## Project
Talawa Mobile, even though being a crucial part in the Talawa Suite of products, lags in implementation of various features related to events, fund campaigns, pledges and tags. Even some other features have old implementations leading to failing queries.
This project aims to bring Talawa Mobile application up to par with functionalities implemented in Talawa web User portal and Talawa API.
The project will add screens/components (conforming to Talawa UI/UX) to access following
1. New event related features (attendees, Action Items, Event Agenda, Event Volunteers),
2. Fund related features (Fund Campaigns, pledges)
3. Tags (filtering\searching via user tags/event tags/ post tags).
4. Apart from adding screens/components and implementing new features fixing issues and bugs plaguing already implemented features due to older implementation of GraphQL queries & mutations.

## Work Flow
![alt text](image.png)
![alt text](image-1.png)

## Future Development Scope

## Contributor
[Glen Dsouza](https://github.com/GlenDsza)
77 changes: 77 additions & 0 deletions sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ const sidebars = {
items: [
"developers/technical-introduction",
"developers/contributing",
// "developers/test_system",
{
type: "category",
label: "Talawa",
Expand Down Expand Up @@ -112,6 +113,82 @@ const sidebars = {
},
],
},
{
type: "category",
label: "Project Dev 2024",
link: {
type: "generated-index",
},
collapsed: true,
items: [
{
type: "category",
label: "Chat Notification",
link: {
type: "generated-index",
},
collapsed: true,
items: [
"developers/project-dev-2024/chat-notification-system/chat_notification_system",
],
},
{
type: "category",
label: "Talawa Event Plugin",
link: {
type: "generated-index",
},
collapsed: true,
items: [
"developers/project-dev-2024/talawa-event-plugin/talawa_event_plugin",
],
},
{
type: "category",
label: "Tag Management",
link: {
type: "generated-index",
},
collapsed: true,
items: [
"developers/project-dev-2024/tag-management-system/tag_management_system",
],
},
{
type: "category",
label: "Volunteer Management",
link: {
type: "generated-index",
},
collapsed: true,
items: [
"developers/project-dev-2024/volunteer-management/volunteer-management",
],
},
{
type: "category",
label: "Improved File Uploads",
link: {
type: "generated-index",
},
collapsed: true,
items: [
"developers/project-dev-2024/improved-file-upload-and-security/improved-file-upload-and-security",
],
},
{
type: "category",
label: "Event Attendance",
link: {
type: "generated-index",
},
collapsed: true,
items: [
"developers/project-dev-2024/event-attendance/event-attendance",
],
}
],
},
],
},
{
Expand Down

0 comments on commit 82ac16a

Please sign in to comment.