-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Store a history of our participation in programming competitions #8
Comments
I think doing it like in a noSQL kind of way would be good. Something like
would be clear enough to read, and easy enough to handle the data. p.s. and also if you guys want I can provisioned a AWS DynamoDB table for this and maybe #7 |
@fauh45 I think a DB somewhere will be overkill, as then we’ll need to setup an account and make sure it will last for eternity 😂 How about keeping them in JSON files as we already did on Kattis, Codeforces, and Atcoder data? People can submit PRs to this repository if they need to add more info - this way we also introduce Git to Encode members. What do you think @imamfzn? |
I agree with @saifulwebid , JSON and git should be enough.
|
Thinking about it again I think it is quite overkill to have a noSQL DB somewhere 😂 , also the point made by @saifulwebid by having CP member do a PR to add their info would be a great way to introduce them to git! |
Yaa just use this repository as our own "NoSQL DB" 😄 |
Yeay ~ Now for the data structure, any suggestions @fauh45? |
@saifulwebid I think that'll do the job just fine, as I would think we only care about what event did we go in to in correlation of who goes there. and how they do right? And a bit of simple modification of using array inside of the participant array would do it for teams. Is it good enough? |
Can you write it explicitly on how the JSON will look like for teams? Think of this as an RPL/DB task on designing data schema. 😄🙏 Let's see what I think we should capture:
|
@saifulwebid I think this is as extensive that I can think of, for some of the concern
In case of individual participant—in this schema—I can just put it into the array of member in the team item, and make the team name their name. Just to make the schema global for all type of participation, as this would simplify data processing. And data processing wise, if the member array length is just 1, I can just treat them as an individual entry to that competition, even in a competition which allows for teams and individual entry.
With this I would just go through Also,
I've just started DB on this semester 😂 sorry for the noob-ish thinking 🙏 . |
Questions:
Little suggestion: let's make it
I like it. What do you think @imamfzn?
*cc-ing your lecturer in the background ... 😂 Just kidding. It's a good start! 🎉🎊 |
I guess my only reason for this are a cleaner organisation of the competition data itself, there's no other reason to put the
The idea of putting
At least for me keeping the ids are much better than keeping a double record of the member details itself. What I think is details of members might change and he/she could be competing a lot so the record need to be changed a lot. And the fact that there are duplicate data on a relatively static item is not that good (?)
Woops, forgot to make it a plural. Noted!
🙏 Thanks a lot for this 😂 👍 |
Agreed; as we will deal with JavaScript, it will also helps to use ISO 8601: https://stackoverflow.com/a/15952652.
Oh, sorry for not being clear enough; I just merely comment about the naming. I agree on using IDs instead of embedding the participant detail directly. I need comment from @imamfzn about these two:
Also, I would like to make a proposal to make the only required fields being |
I absolutely agreed with you @saifulwebid , having some data is better than having none 😄 |
Hmm, IMO just put all of competition attributes to the root object, because this object is represent competition data. I have no idea about Sorry for late response 🙏 😂 |
For sure! Got sidelined with another projects, and now UAS is on the line, maybe after that? |
Sure - good luck for your upcoming exams 🎉🎊 |
Alright UAS all done, thanks for that btw!
I think What do you guys think? @saifulwebid @imamfzn |
Let's use |
We might have a consensus then? I think we also need an example to begin with, just to make it easier for others to add |
I think we can use this as an example: https://jtk.polban.ac.id/2019/07/tiga-mahasiswa-jtk-sabet-juara-4-di-kompetisi-acm-icpc-ideafuse-2019/. |
Data aren't really that complete or accurate, but I think that should be final? |
Nice - bungkus! Non-blocking suggestion: how if we change |
Right then, how should we "formalized" it?
Yep should works better too |
Submitting a PR containing our participation in ACM-ICPC Ideafuse 2019 as a seed will do 😊 After that we can throw that PR to Encode CP group in LINE to trigger further contributions 😉 |
Little problem, I need to search up their NIM, I honestly don't know haha |
Hm, I guess Himakom should have a data of it, no? |
Yea don't think they have a centralized source for all of it |
Got an idea - let's assign them UUIDs for a while so we don't get blocked on NIM 😄 They can always submit pull requests to correct it. |
Ah good idea actually, should we do it with #7 too? |
Yup - shoot two issues with one PR 😉 |
Future contributors: please follow #13 to contribute on solving this issue. |
We want to store the history of our participation in various programming competitions in a JSON file, maybe on
data/competitions.json
(feel free to suggest a file name).However, I'm still unsure on the data structure. Feel free to discuss. In my mind, we may want to store the competition name, where and when it took place, the team list participating in both preliminary and final stages, and the members' IDs (see #7).
The text was updated successfully, but these errors were encountered: