Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Google Summer of Code 2019 Final Submission Report

gsoc-logo

Google Summer of Code 2019 Final Submission Report

Project:

SUSI.AI is an AI system, combining pattern matching, internet data, data flow, and inference engine principles. Through some abilities to reflect, it can remember the user input to produce deductions and personalized feedback. Its purpose is to explore the abilities of an artificial companion. The SUSI.AI web chat is a front-end developed for web access of SUSI.

I have contributed to SUSI.AI and SUSI_Server project of FOSSASIA within the GSoC 2019 period. My contributions to various SUSI repositories have been listed below:

My Contributions:

SUSI.AI:

I worked on merging the susi_skill_cms, account.susi.ai and chat.susi.ai into one consolidated susi.ai repository and integrating redux, upgrading material-ui and react versions. I implemented a chat bubble at bottom right which allows users to interact with susi.ai and test skills by clicking on their respective speech bubbles. Features implemented by me are:

  • Skill Creator
  • Dashboard: My Devices Tab
  • Chat Bubble and Speech Bubble for Skill
  • Admin: Bots, Devices and System Skills Tab
  • Admin: CRUD operations on Config Keys in Settings Tab
  • Admin: Edit User Settings in Users Tab

I also enhanced the existing UI, fixed mobile views, integrated styled-components, created shared components and fixed various bugs.

Screenshots:

Skill Creator Dashboard: My Devices Tab
Screenshot 2019-08-22 at 8 31 59 PM Screenshot 2019-08-22 at 8 32 13 PM
Chat Bubble Speech Bubble for Skill
chatbubble skillbubble
Admin: Bots Tab Admin: Devices Tab
bots devices
Admin: System Skills Tab Admin: CRUD operations on Config Keys in Settings Tab
systemskills crud

SUSI.AI Server:

I implemented the API endpoints: ListDeviceService, ListPrivateSkillService and ListPrivateDraftSkillService. I also improvised the getUsers API to return devices added over time, ApiKeyService to allow CRUD operations, DeleteSkilService and RemoveUserDevice API to delete skill and device respectivley by admin and ChangeUserSettings to allow Admin to edit user settings.

Screenshots:

ListDeviceService API ListPrivateSkillService API
Screenshot 2019-08-22 at 10 19 11 PM Screenshot 2019-08-22 at 10 18 43 PM
ListPrivateDraftSkillService API Modified GetUsers API to return Device Stats
Screenshot 2019-08-22 at 10 19 21 PM copy Screenshot 2019-08-22 at 10 19 21 PM

Additional Links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment