Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save nandunbandara/b33e492d229167697ecac17d06c5a501 to your computer and use it in GitHub Desktop.
Save nandunbandara/b33e492d229167697ecac17d06c5a501 to your computer and use it in GitHub Desktop.
GSoC 2018

Google Summer of Code 2018

Student: Nandun Bandara

Project: Stackle - Frontend Functionality and User Interface Improvements

Organization: Sustainable Computing Research Group (SCoRe)

Mentors: Pasan Gamaetige, Tharindu Ranathunga

Stackle

Stackle is a web communication portal for Open Source organizations to have discussions on their GitHub projects and their issues. It provides GitHub integration which allows the administrator of an organization to create a forum thread for the particular organization. Users signing in are able to view forums of the organizations they contribute to and engage in the forum discussions.

The goal was to redesign and implement the frontend of this application using Angular4 with new functionality.

Contributions during GSoC 2018

UI Changes in Angular #121

scorelab/Stackle#121

Designed and developed the user interface using Angular4.

Create and View Posts #130

scorelab/Stackle#130

Implemented functionalies such as creating a post and commenting on them. Implemented adding and removal of tags.

Profile Information from GitHub #133

scorelab/Stackle#133

Integrated the system with the GitHub API to get information about the user's profile on GitHub.

Stacks Functionality Implementation #140

scorelab/Stackle#140

Implemented user subscribing and unsubscribing to a stack and fixed the issues that came up when integrating the Authentication API flow with the frontend. Fixed issues in other functionalities in the stacks and posts. Also made changes within the user interface to make it more user friendly.

Challenges Faced

The User Authentication flow was a bit challenging to integrate because of the way it was implemented on the server side. GitHub was used as the OAuth Provider and the callback was set to a url on the server side. Hence, I had to make some changes on the server side, to redirect once the response is received to a callback url on the frontend application.

The issue in the user authentication flow was a blocker for several functions like voting posts and user subscribing.

Completed Tasks

  • UI Design
  • Functionality Implementation
    • User Authentication (GitHub)
    • Creating threads for organizations
    • Subscribing and Unsubscribing organizations
    • Creating posts in subcribed organizations
    • Viewing posts in subscribed organizations
    • Voting, Commenting and Replying to posts

ToDo

  • Write Unit Tests

I had to dedicate extra time for some implementations due to the issues such that in the User Authentication flow, find a solution to fix it, and hence resulting in the above uncompleted tasks.

Future Work

  1. Implement support for code within posts and comments.
  2. Implement further validations for user inputs.
  3. Secure the user authentication flow.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment