Skip to content

Commit 7c4fef4

Browse files
committed
init
0 parents  commit 7c4fef4

File tree

6 files changed

+483
-0
lines changed

6 files changed

+483
-0
lines changed

README.md

+53
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# (MacOS) Download the App and Run
2+
To download the App, you must open the Terminal and enter the following:
3+
```
4+
curl -L REPLACEME --output ~/Desktop/main.zip
5+
```
6+
A file called `main.zip` will appear on your desktop. Double-click to unzip; you should see `main.app` on your desktop.
7+
8+
9+
# Terminology
10+
11+
* First-Year: A First-Year CS major is a student who was not affiliated with the CS major in the previous semester but is now affiliated. For example, First-Year students in FA2021 were unaffiliated in FA2021 but affiliated in FA2022.
12+
13+
* Retention: A Retained CS major is a student who was affiliated with the CS major in the previous semester and is still affiliated. For example, retained students in FA2023 were affiliated with both FA2022 and FA2023.
14+
15+
* CHanged Major: A student is considered to have changed major if they were affiliated with the CS major in the immediate previous semester but no longer in the CS major in the selected semester. For example, a student who was in CS in FA2022 but is in FA2023 is a math major and is considered to have changed majors in FA2023.
16+
17+
* Graduates: A student is considered a graduate if they appeared as a CS major in the previous semester but are no longer a student in the current semester. For example, a student who graduated in Winter 2022 or Spring 2023 is considered a graduate in FA2023. This also needs data from the previous semester.
18+
19+
* Cohort: A cohort is a group of students affiliated in the same semester.
20+
21+
22+
# Extra Notes
23+
1. Only Citizens are tracked and counted.
24+
25+
1. Worksheets should be ordered in chronological order.
26+
27+
1. Students should have consistent NetIDs between semesters.
28+
29+
30+
# How to Build the Application from Scratch
31+
32+
## Install Python
33+
This App was built with Python 3.13.0 and pip 24.2, but older versions of Python should also work.
34+
35+
## Install Packages
36+
With Python installed, type the following in the Terminal,
37+
```
38+
pip install -r requirements.txt
39+
```
40+
41+
## Build the Application
42+
In the Terminal, type the following
43+
```
44+
chmod 700 build.sh clean.sh
45+
./build.sh
46+
```
47+
A main.zip will appear in the current directory, which contains the App.
48+
49+
## Clean Build
50+
To clean the directory, enter
51+
```
52+
./clean.sh
53+
```

build.sh

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/zsh
2+
3+
set -e
4+
5+
SCRIPT="main.py"
6+
APP_NAME=$(basename "$SCRIPT" .py)
7+
8+
pyinstaller --clean --noconfirm --onefile --windowed "$SCRIPT"
9+
10+
# Must sign with Developer ID if app is to be distributed to other ARM64 MacOS users
11+
codesign --deep --force --verify --sign 11CB69B5F69442FE499B83CABAC1ABE5156341AF dist/main.app
12+
13+
if [ -f "dist/$APP_NAME" ]; then
14+
cd dist
15+
zip -r "${APP_NAME}.zip" "main.app"
16+
mv "${APP_NAME}.zip" ..
17+
echo "Build successful"
18+
else
19+
echo "Build failed"
20+
fi

clean.sh

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
#!/bin/zsh
2+
3+
rm -rf build dist main.spec main.zip

0 commit comments

Comments
 (0)