Version: 1.0.0
[...]{...}
yyyy-mm-dd)https:// and without suffix / except when requiredBy default each property is required, here are the additional properties:
null except if mentioned otherwiseEach repository has its own /data/settings.json which could have these fields:
version: String, version number in format x.x.x where x is an integer same as SemVer. the data API version used in your files . Default is 0.0.0 (optional)old_id_system: Boolean, using id instead of iid. Default false. (optional)codeforces: Boolean, in case each user has a Codeforces account. Default false. (optional)icon: String, filename of favicon inside /img folder. (optional)logo: String, filename of logo inside /img folder. Recommended to be SVG. (optional)home_image: String, filename of an image inside /img.enable_exams_page: Boolean, default falseenable_members_index: Boolean, default falseenable_image_library: Boolean, default false/data/people.jsonAn array of people, each person has the following:
iid: Integer, informatics ID of the student, currently fetched from IDs assigned by Marko (unique)id: String, lowercase with no spaces ID usually in format firstname_lastname, not used anymore and shouldn’t be written, it will be removed by devleopers when not needed anymore (deprecated)arname: String, Name in Arabicenname: String, Name in Englishlevel: Integer, current SIT Level (“-1” if he/she graduated, “-2” if he/she disqualified/left before graduating, “-3” if he/she was never a student)graduation: Integer, graduation year (optional)codeforces: String, Codeforces username. Used only with codeforces: true in settings.json (optional)email: Email, most official email, usually [email protected], used in case of contact page (optional)female: Boolean, used in girls competitions, default is false (optional)/data/participations.jsonAn array of olympiads SIT participated in, each olympiad has the following:
name: String, An id of an olympiad that exists in olympiads.jsonyear: Integer, yearcountry: String, the 2-letters country code of the host country of the olympiad.start: Date, The start day of the olympiadend: Date, the end day of the olympiadparticipants: Dictionary of <member_id>: <award_name> of the participants in SAU order.
<award name>: (gold/silver/bronze/hm) (null in case of no award)scores: Dictionary of <member_id>: <scores_array> (optional)website: URL, Olympiad website of that specific year (nullable)online: Boolean, indicates if Saudi participated online or not, default is False (optional)/data/olympiads.jsonAn array of olympiads SIT participated in, each olympiad has the following:
id: String, Should be lowercase, 3/4-letters short olympiad name (i.e. ioi, imo, egoi) (unique)arname: String, Full name in Arabicenname: String, Full name in Englishofficial: Boolean, is Saudi Arabia an official country or notparticipations_count: Integer, How many students participate per year needed when it’s used in tsts.json. (optional)website: URL, General Olympiad website, shouldn’t be a specific year website except if it was the first version of the olympiad (nullable)/data/images.jsonThese images would be shown in Image libary, shouldn’t have a strict rules about the title/description.
You might check and share image proposals form, which is maintained by the website developers.
An array of images, each image consist of these labels:
src: String, Filename of the image in /img directory in the repositoryartitle: String, Arabic titleentitle: String, English titleardescription: String, Arabic descriptionendescription: String, English descriptiondate: Date, the date of this image/data/contact.jsonA dictionary of (developers/maintainers/admin), each having an array of person ID
/data/exams.jsonA dictionary of exam IDs, where every exam has:
name: String, Name of exam in Englishdate: Date, The day of the examproblems: Array of problem IDparticipants: Dictionary of student ID and an array of floats which is score per task/data/tsts.jsonA dictionary of year and olympiad IDs, and every olympiad ID contains:
exams: An array of exam IDs, or a dictionary in case of different weightsmin_birthdate: Date, minimum eligable birthdate for participants, works only in Informatics currently (Optional)female_only: Boolean, True if only female is eligable for this olympiad, default false (Optional)execluded: Array of student ID, members who are execluded from the pageparticipants_count: Integer, count of participants, default is taken from olympiads.json file (Optional)
{
"2025": {
"_general_excluded": ["sultan_alaiban"],
"ioi": {
"exams": ["exam1", "exam2"],
"min_birthdate": "2009-06-30",
"female_only": false,
"excluded": ["muaath_alqarni", "ali_alsalman"]
}
}
}
additionally, if the TSTs for a certain olympiad is weighted, you can use a dictionary of exam ID to weight instead of an array in the exams field. for example:
{
"2026": {
"ioi": {
"exams": {
"exam1": 0.2,
"exam2": 0.4,
"exam3": 0.4
}
}
}
}
Additional rules (Optional):
excluded: Array, of strings student IDmin_graduation: Integer, minimum graduation year to be eligablefemale_only: Boolean, true if the competition is female onlymin_birthdate: Date, the minimum birthdate for eligibilityThese files are needed, but they aren’t database kind.
/data/countries.json/data/translations.json