Skip to content

Instantly share code, notes, and snippets.

@CyberWake
CyberWake / GSoC'21-Report.md
Created August 22, 2021 20:04
GSoC'21 Report | The Palisadoes Foundation | Talawa

GSoC 2021 @ TALAWA | The Palisadoes Foundation

This gist contains the details about My GSoC '21 Project with The Palisadoees Foundation. During summer, I worked on architecting and developing the Talawa Application. My previous contributions.

About Project:

Talawa is a modular open-source project to manage group activities of both non-profit organizations and businesses. Talawa has three main components. A mobile application with social media features, a web-based portal to be used by the organization’s administrative team, and finally an API providing access to data and features.​​

Talawa:

Repository Stats

Navigation flow

Initially when I started login and signup was working but there were some flaws with navigation leading to dead end with just a profile page. This has been fixed with the merge of the following. PR #378

Improper Logic for admin/creator check

I found that we are not using solid logic to check whom to give creator/admin rights to the organization previously we checked this with the firstname and lastname of the creator. As graphql was used to make the query the fix was provided in PR #424 with changing the mutation string to get the creator id and list of admin id(s) of the organization. Matching it with the logged user to check for admin/creator rights was much more logical.

// Packages imports.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:provider/provider.dart';
import 'package:talawa/controllers/auth_controller.dart';
import 'package:talawa/controllers/org_controller.dart';
import 'package:talawa/services/preferences.dart';
import 'package:talawa/utils/GQLClient.dart';
import 'package:talawa/views/pages/_pages.dart';
import 'package:talawa/views/pages/organization/organization_settings.dart';
String fetchUserInfo = '''
query Users(\$id: ID!){
users(id:\$id){
_id
firstName
lastName
email
image
joinedOrganizations{
image