Interfaces of Simpler and faster utab-core in Nodejs and of Database handler.
The original version of utab-core in Python is here.
- "CHANGELOG.md" - Release notes
- "TERMS.md" - Terms
Documentation for version 2 is available at here
-
Clone this repository.
$ git clone https://github.com/taulukointipalvelut/utab-core
-
Start MongoDB.
$ mongod
-
Import utab.js and create an instance.
var utab = require('./utab-core/utab.js')
var t1 = new utab.Tournament({name: "6th test tournament"}) // create a tournament
t1.teams.create({id: 1}) // create a team
t1.close()//close connection to database for t1
- Strict validation for database
-
You should either set pre-evaluation to all adjudicators, or to no adjudicator.
-
All return values from database functions are treated as Promise objects
-
Expected total round num is 1 ~ 6.
-
judge-pre-evaluation should be evaluated as same criteria as judge evaluation at the tournament.
-
If num of chairs is odd, they should discuss who is the winner and send the same
win
. -
ID, which is unique and constant in all entities throughout adjudicators/teams/speakers, of result sender should be specified when sending result.
To have basic functions
Planning to support
- New matching algorithms
- database(MongoDB)
- All basic functions
To have more safety
Planning to support
- Stricter validation
- Multiple chairs, panels, trainees
- New algorithms
To improve internal algorithms
Planning to support
- Mstat
- Modifying result after rounds
- utab.js: tournament management interface
- allocations.js: functions to compute allocations
- results.js: functions to summarize/check results
- controllers.js: database management interface
utab.js
│
├─src/allocations.js
│ |
│ ├─src/allocations/teams.js
│ │ ├─src/allocations/teams/filters.js
│ │ ├─src/allocations/teams/matchings.js
│ │ └─src/allocations/teams/strict_matchings.js
│ │
│ ├─src/allocations/adjudicators.js
│ │ ├─src/allocations/adjudicators/adfilters.js
│ │ └─src/allocations/adjudicators/matchings.js
│ │
│ └─src/allocations/venues.js
│
├─src/results.js
│ ├─src/results/sortings.js
│ └─src/general/math.js
│
└─src/controllers.js
└─src/controllers/database.js
└─src/controllers/schemas.js