Skip to content

Instantly share code, notes, and snippets.

@fragm3
Last active Aug 19, 2021
Embed
What would you like to do?
GSOC 2019 gist by Shubham(fragm3)

gsoc-logo

Final Report: GSoC '19

Aim

Migrate Chat, Skill, Account SUSI.AI under a common app SUSI.AI. Create a set of common and modular components. For styling 1 common approach should be used, like styled-components. Enhance Admin section by adding Reported Skills tab, Mail configuration, Email Messages(with reCaptcha configuration), User, Skills Statistics for Admin Panel.

Add more functionality to settings for users. Make the whole application mobile responsive. Integrating Redux and removing flux architecture for data flow. Implement stop action, SoundCloud action on chat. Fix preview chat code and scroll interactions.

Implement slideshow slider, Google Analytics, multi-search for skills CMS. All the above features will be integrated on frontend as well on the backend. Integrate support for SUSI.AI Speaker with SUSI.AI web client.

Overview of Work Done

Redux integration for SUSI.AI

Earlier global state was managed using flux and through props drilling. Integratd redux across the application.

  • Remove flux architecture from chat app
  • Integrated redux for settings, skill creator, botbuilder components. With redux data could be persisted in different tabs of botbuilder.

SUSI.AI chat

Preview chat added, features:

  • Refactored the code for preview chat
  • Fixed skill example code
  • Revamped the search message
  • Fix scroll interactions
  • Added stop action to stop existing video, songs, audio message voice.
  • Integrated soundcloud support

Revamped Admin Panel

Revamped the entire admin panel to follow a same design pattern. Some of the changes are as follows :

  • Added reported skills tab
  • Fixed User tab
  • Created common design structure
  • Added option to save slider
  • Mail configure
  • Over time statistics:
    • Skill Edits
    • Skill Creations
    • Skill Uses
    • User Login
    • User registration
  • More metadata to reported skills, delete skills table
  • Message section

SUSI.AI Speaker

Helped in integration of SUSI.AI speaker with SUSI.AI web client

  • Configure SUSI.AI speaker
  • Setup, WiFi access page
  • Device protected routes

Multiple tasks

  • Merging skills.susi.ai, account.susi.ai, chat.susi.ai into one consolidated repository
  • Mobile responsive SUSI.AI
  • Upgrading Material-UI, React to latest versions
  • Integrating Styled components
  • Removing CSS static files
  • Add support for storing API keys at user level
  • Follow a dashboard type design layout across botbuilder, skillcreator, dashboard, admin panel
  • Refactoring codebase, modular code
  • Fixing bugs
  • Fixed UI/UX
  • Created modular components, shared components which can be used as SUSI's own design system
  • Added documentation
  • Added reset password
  • Added google analytics, matomo
  • Cookie policy
  • Removed antd from repository
  • Improved user validation
  • Reduced the build files size from 92 mb to 15 mb
  • Created App shell layout
  • Avatar for user account
  • Reimplmented navigation
  • Multi search functionality for SUSI.AI
  • Created slider slides to be displayed
  • Scroll interactions in chat, web app(on route change)

Code contributions in SUSI Projects

SUSI.AI Server

SUSI.AI Web

SUSI.AI Skill CMS

Screenshots

Google Analytics, Matomo Analytics Admin User Section
User Statistics Over time Skill Statistics
Mobile responsive My Analytics section
Skill Creator, Botbuilder Reported Skills Tab
Preview chat, search chat Soundcloud, stop actions
Configure reCaptcha Admin Message Section
SUSI.AI Speaker Setup Configure
Configure Mail User-level API
User Security Slideshow
Multi search User Accounts
Mobile responsive Styled components

Other deliverables

Thank you FOSSASIA and Google Open Source Community for giving me this wonderful opportunity to learn and contribute to SUSI.AI! 😃

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