diff options
Diffstat (limited to '')
-rw-r--r-- | README.md | 49 | ||||
-rw-r--r-- | iadocs/cover_page.htm | 1 | ||||
-rw-r--r-- | iadocs/crita_planning.tex | 56 |
3 files changed, 67 insertions, 39 deletions
@@ -5,47 +5,18 @@ This is my internal assessment for the IB Diploma Programme's Computer Science by the IB, while the `docs` directory contains the documentation that I actually plan to distribute for the production system. -## Configuring, building and running +## Repository mirrors -1. Copy `docs/cca.scfg.example` to `cca.scfg` and edit it to taste. The - configuration file is well-documented. You probably need to add a client - secret, change some paths, and change some listening options. -2. `make` -3. `./cca` +* [Upstream repo](https://git.runxiyu.org/ykps/cca.git) +* [SourceHut mirror](https://git.sr.ht/~runxiyu/cca) +* [Codeberg mirror](https://codeberg.org/runxiyu/cca) +* [GitHub mirror](https://github.com/runxiyu/cca) -## Problems with the existing system +## Other links -There are various issues with Schoolsbuddy, the current system our school uses -for CCA registrations: +* [Issue tracker](https://todo.sr.ht/~runxiyu/cca) +* [Demo instance](https://dev.runxiyu.org) +* [Admin handbook](https://git.runxiyu.org/ykps/cca.git/plain/docs/admin_handbook.html) +* [IA cover page](https://git.runxiyu.org/ykps/cca.git/plain/iadocs/cover_page.htm) -* There are various race conditions and locking issues that occur when too many - students use the system at the same time. Course member caps are enforced by - kicking random users out of the system while over-filling some courses, - instead of having the course choice fail gracefully. The number of remaining - seats in each course is also not updated live. -* If a lot of people are trying to load the Schoolsbuddy page, it takes ages. -* The web interface is extremely bloated and contains more than 10 megabytes of - unnecessary JavaScript. -* The main interface displays three CCA periods, and inside each CCA period you - can choose between Monday/Wednesday and Tuesday/Thursday. That's a bit - unintuitive. -* It seems to only support authentication by PowerSchool single sign-on, which - is problematic because PowerSchool only supports a limited number of students - logging on at the same time. -* The selection system does not enforce CCA hours requirements, and the CCA - office's staff must manually verify that students have completed CCA choices - to the year group's requirements, by literally printing out the spreadsheet - to paper and reading through them. -* The school has to pay Schoolsbuddy a subscription fee, while something as - simple as CCA selection could be easily accomplished on cheap hardware and - minimal software. -## Key questions - -* How does the CCA staff enter available courses, teacher information, member - caps, and timing information into the system? Would it be okay if I just - accept a CSV spreadsheet? - Apparently they use the Schoolsbuddy web page to do so. I'd add a CSV upload - as that would be more convenient for most purposes. -* How do they get student choices out of the system and into PowerSchool? - It looks like they export an Excel sheet. See `docs/fields.txt`. diff --git a/iadocs/cover_page.htm b/iadocs/cover_page.htm index 6bee777..4ebb05a 100644 --- a/iadocs/cover_page.htm +++ b/iadocs/cover_page.htm @@ -327,6 +327,7 @@ pre { An additional <a href="../docs/developer_handbook.html">Developer Handbook</a> is available for future developers who wish to have a more nuanced understanding of the system’s design than what Criterion B requires documenting. </p> <h2>Links to Documentation for Assessment Criteria</h2> + <p style="color: var(--greyedout)">Note: The compiled PDF versions are currently not provided within the repository.</p> <ul> <li><a href="./crita_planning.pdf">Criterion A: Planning</a></li> <li><a href="./critb_recordoftasks.pdf">Criterion B: Record of Tasks</a></li> diff --git a/iadocs/crita_planning.tex b/iadocs/crita_planning.tex index e69de29..70c985c 100644 --- a/iadocs/crita_planning.tex +++ b/iadocs/crita_planning.tex @@ -0,0 +1,56 @@ +\documentclass{scrartcl} + +\subject{IBDP Computer Science Internal Assessment} +\title{Criterion A: Planning} +\author{Runxi Yu} +\date{\today} + +\usepackage{tgtermes} +\usepackage{tgheros} +\usepackage{microtype} + +\begin{document} +\maketitle + +\section{Problems with the existing system} + +There are various issues with Schoolsbuddy, the current system our school uses +for CCA registrations: + +\begin{itemize} + \item There are various race conditions and locking issues that occur when too many + students use the system at the same time. Course member caps are enforced by + kicking random users out of the system while over-filling some courses, + instead of having the course choice fail gracefully. The number of remaining + seats in each course is also not updated live. + \item If a lot of people are trying to load the Schoolsbuddy page, it takes ages. + \item The web interface is extremely bloated and contains more than 10 megabytes of + unnecessary JavaScript. + \item The main interface displays three CCA periods, and inside each CCA period you + can choose between Monday/Wednesday and Tuesday/Thursday. That's a bit + unintuitive. + \item It seems to only support authentication by PowerSchool single sign-on, which + is problematic because PowerSchool only supports a limited number of students + logging on at the same time. + \item The selection system does not enforce CCA hours requirements, and the CCA + office's staff must manually verify that students have completed CCA choices + to the year group's requirements, by literally printing out the spreadsheet + to paper and reading through them. + \item The school has to pay Schoolsbuddy a subscription fee, while something as + simple as CCA selection could be easily accomplished on cheap hardware and + minimal software. +\end{itemize} + +\section{Key questions} + +\begin{itemize} + \item How does the CCA staff enter available courses, teacher information, member + caps, and timing information into the system? Would it be okay if I just + accept a CSV spreadsheet? + Apparently they use the Schoolsbuddy web page to do so. I'd add a CSV upload + as that would be more convenient for most purposes. + \item How do they get student choices out of the system and into PowerSchool? + It looks like they export an Excel sheet. See \texttt{docs/fields.txt}. +\end{itemize} + +\end{document} |