Student: Nandun Bandara
Project: Stackle - Frontend Functionality and User Interface Improvements
Organization: Sustainable Computing Research Group (SCoRe)
Mentors: Pasan Gamaetige, Tharindu Ranathunga
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.
Designed and developed the user interface using Angular4.
Implemented functionalies such as creating a post and commenting on them. Implemented adding and removal of tags.
Integrated the system with the GitHub API to get information about the user's profile on GitHub.
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.
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.
- 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
- 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.
- Implement support for code within posts and comments.
- Implement further validations for user inputs.
- Secure the user authentication flow.