summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md49
-rw-r--r--iadocs/cover_page.htm1
-rw-r--r--iadocs/crita_planning.tex56
3 files changed, 67 insertions, 39 deletions
diff --git a/README.md b/README.md
index 3490771..6600119 100644
--- a/README.md
+++ b/README.md
@@ -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&rsquo;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}