Giter Site home page Giter Site logo

cerberus's Introduction

Cerberus

Cerberus is a networked quiz-bee system in Qt/C++.

The project is under the supervision of the Computer Society of Ateneo.

Build Requirements

The following is needed to build Cerberus:

  • Qt Framework 4.6 - For some reason the system is unstable in Qt 4.7 due to some networking issues, we're currently investigating this.
  • C++ Compiler - Qt SDK for Windows already provides this.

Components

The system is split into multiple specialized programs in spirit of the UNIX development philosophy.

Main Components:

  • server: The main daemon of the system.
  • client: Client program to be installed in each computer of the contestant.
  • projector: Displays contest status, and other information. Used for projectors in the contest.
  • admin: Administrator interaface to the server.

Utilities:

  • question_editor
  • config_editor
  • registration_app
  • user_manager

cerberus's People

Contributors

ikinari avatar jlgo172003 avatar joshrex avatar kendlee avatar mikeybanez avatar polemic avatar trigger-happy avatar victortanedo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

jlgo172003

cerberus's Issues

Projector timer doesn't work properly

1.) start up the server and then the projector
2.) go to projector control tab and click show time left
3.) go to contest control tab, select round 1 and click apply
4.) click start and watch the timer not work properly

Doing step 2 is enough to show how the timer is not set properly at the start. Step 3 is not suppose to be done at all, and should not be done just to set the projector's time during an actual contest. Step 4 pretty much shows that something is not wrong with projector's internal timer.

Implement Auto-update

Basically, the contestant clients and whatsnot should be able to detect whether it's outdated and automatically download new versions from the server.

Rewrite the networking system

Current setup uses a lot of duplicate code. This should be reworked to reduce the case of such. There's also the need to ensure that cases like the projector issue in /IT doesn't happen again.

Contestant error dialog

The title of the error dialog (when it gets disconnected) is titled "success," clearly this should not be the case when an error occurs.

Server crashes when a user logs in again after submission

1.) start the server
2.) start the contestant and log in as an existing user
3.) start the contest and have the contestant answer the questions
4.) submit and let the client close
5.) start up the client again and login as the same user
6.) server crashes

Migrate all timers to use ContestTimer

Right now, the timing of the system is in a bit of a mess. Some use their own timers with 1 sec precision which may not be enough for some cases. The ContestTimer class has been created to address this issue but it was introduced late in the development and hasn't been adopted throughout the system.

Enforce branding

so far, we only have the logo.. but we have to "enforce" that this is "ours" by adding the Cerberus and Compsat logo, and Contributor's notice etc.

Improve Question editor

Right now, the layout of the question editor is a bit hack-ish in implementing the "multiple possible answers" in the identification part.

Also, the UI of the thing merits some usability considerations...

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.