Giter Site home page Giter Site logo

rate_anything's Introduction

Generic Rating System

Part 1: Backend and Algorithm

  • Backend
    Flask + sqlite for prototype. To deploy, we can use either Gunicorn or Ngnix + wsgi. Render should on client-side, backend only provides apis for operations and serving frontend App.
  • Algorithm
    The algorithm is to summarize the tags we have for each entry to a bunch of numerical metrics. This process can be done by hand, by making up some formula or by using some fancy machine learning approach. I prefer we invest more time in this part. For we are computer SCIENCE students, not an ordinary programmer. Potentially, word2vec might be handy, we can start learning it if interested and also I (JiaYi Zhang) can hold a presentation for this topic.

Part 2: Frontend

  • Prototyping Pure HTML + JS + CSS! That's the fastest way to build up a prototype in my opinion.
  • Actual WebApp To make us more suitable for jobs, I (JiaYi Zhang) suggest we use React.js. Since it's the most popular framework in the industry. I don't expect the web app to be too complicated. It may only contain:
    • User login/logout: Shall we force users to use their school email?
    • Search a specific professor (entry): It should be hierarchical structure indexing all entries. Also, the visualization part could be creative and it's very important.
    • Add a rate to an entry: Select or type in tags, then upload it to server.

Data Orgnization

Prof table: keys: Prof Name, Courses, Tags (could be a one-hot vector)

Action table: Simply log all actions keys: User, Status(active, deprecated), Timestamp, Action, args

Logs table: Log all requests User, Time, Operation

TAG MAP: Encode all tags into one-hot encoding

Tags Lecture: Detailed slides Over-simplifed slides

Logical explaination:

  • Don't know what prof talking about
  • Always ask students to ask question
  • Don't care at all.

Responsivness:

  • Have Piazza(or campuswire etc)
  • Use canvas discussion
  • No discussion forum
     
  • TA/Prof answer questions fast enough
  • TA/prof merely answer questions only
     
  • Lots of OH, can always find them.
  • They skip OH.

Communication:

  • Prof can understand your question correctly.
  • Prof's answer don't really answer the question.

Homeworks:

  • Clear instruction on what to do.
  • Don't know where to start
     
  • Well explained grading rubric
  • Let's hope prof will give a good grade
     
  • HW is too hard, must work more than you should (units) to figure out.
  • HW too easy, an afternoon is enough to kill it.

Database Schema Design

  • User records
    • email
    • username
    • hashed password
    • uid
  • Action log
    • uid
    • action
    • args
    • time
  • Ratee
    • ["TAG":count,...]
    • [{"user":USER, "comment":comment},...]
    • rid
    • summary:{calculated metrics}

Note:

This document is full of subjective prejudice, please don't hesitate to contact me and discuss anything you don't agree with. My email: [email protected]

Please put [iDEX] in the title! Thanks for supporting!

rate_anything's People

Contributors

alan37 avatar caykbun avatar itzmeerkat avatar totoroyyb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.