Skip to content

iamdsv/QnA-Overflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

QnA Overflow

Personalized platform for Q&A at IIT Kanpur

  • Motivation:

    • No common personalized platform for Q&A at IIT-K
    • Replacement for Piazza
    • Previous year questions can help future students
  • Technologies used:

    • Front-end: AngularJS, HTML, CSS
    • Back-end: Typescript
    • Database: Firebase (NoSQL)
    • Editor: Tinymce (with LaTeX & Code-snippet support)
  • Development:

    • We followed process similar to Agile
    • We had 3 iterations, with version releases dated November 15th, 18th and 21st
  • Challenges:

    • Realtime Question/Answer fetching
    • Updation time of upvotes/downvotes
    • New tags entered by people were absured sometimes
  • How we tackled:

    • Used Observable push to propogate changes in realtime
    • We maintained a local array for votes and they are updated in DB in async fashion
    • We have created our own standardized function which converts all tags into common format
  • Functionalities:

    • E-mail verification
    • Add/Delete Questions/Answers (with LaTeX & Code-snippet support)
    • Upvote/Downvote Answers
    • Search bar
    • Tags to follow
    • Shareable Q/A links
  • Load Distribution:

    • Server side: ▪ Authentication ▪ Question and Answer fetching (via Observable push) ▪ Managing votes in async fashion
    • Client side: ▪ Filtering and ordering of questions and answers ▪ Rendering Single Page Application with multiple views
  • Basic analytics:

    • Maximum concurrent users at a time were 8
    • Peak DB server load was 2%, it can handle 100 concurrent users at a time
  • Extensions:

    • Badges to be earned
    • Special access for instructors
    • E-mail notification
    • Questions for you (using ML)
    • Android/iOS application

About

Personalized platform for Q&A at IIT Kanpur

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published