You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _docs/developer/rensselaer_center_for_open_source/2025_Justin_Manion.md
+41-32Lines changed: 41 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ category: Developer > Rensselaer Center for Open Source (RCOS) > Summer 2025
5
5
6
6
[View my commits](https://github.com/Submitty/Submitty/commits?author=JManion32)
7
7
8
-
**51** pull requests reviewed
8
+
**54** pull requests reviewed
9
9
**29** pull requests created
10
10
**16** pull requests taken over and merged
11
11
@@ -25,41 +25,50 @@ The main challenge was efficiently aggregating notifications from multiple cours
25
25
- Sorting results server-side for efficiency
26
26
- Creating a new database index on `created_at` and `to_user_id`, reducing the time complexity from **O(courses × notifications)** to **O(courses)**
27
27
28
-
This update not only streamlines how users interact with notifications, but also transforms the homepage into a more dynamic and informative landing experience. Looking ahead, I hope to expand this space further by adding upcoming gradeables, grade summaries, and other personalized insights to evolve the homepage into a true dashboard.
29
-
30
28
#### Mark as Seen ([#12007](https://github.com/Submitty/Submitty/pull/12007))
31
-
29
+
After the original feature was merged, it quickly became clear that users needed a way to dismiss unseen notifications without being redirected. This PR adds an envelope icon next to each unseen notification, allowing them to be marked as seen in place.
As mentioned above, it’s critical that this feature has a clean and intuitive UI. This PR improves the design with the following changes:
33
+
- Added a star icon next to gradeable notifications.
34
+
- Increased the font weight of notification content for better readability.
35
+
- Linked each notification’s course name to that course’s notifications page.
36
+
- Refactored click behavior: with three clickable elements in each container, only the individual elements are now clickable (rather than the entire container).
37
+
Each element also underlines on hover. This design is inspired by GitHub Actions' job design:
This update not only streamlines how users interact with notifications, but also transforms the homepage into a more dynamic and informative landing experience. Looking ahead,
44
+
I hope to expand this space further by adding upcoming gradeables, grade summaries, and other personalized insights to evolve the homepage into a true dashboard.
45
+
38
46
39
47
### Gradeable Configuration Text Editor
40
48
Historically, editing a gradeable’s configuration in Submitty required switching to a different server directory, uploading a full config bundle, or using the limited Notebook Builder tool. There was no support for directly editing config.json or supplemental files from the web interface.
41
49
42
-
**Gradeable Config Editor ([PR#10325](https://github.com/Submitty/Submitty/pull/10325))** - I inherited this PR from [Tate Whiteberg](https://github.com/DarthNyan) and completed the implementation of the initial text editor for editing gradeable configuration files.
I inherited this PR from [Tate Whiteberg](https://github.com/DarthNyan) and completed the implementation of the initial text editor for editing gradeable configuration files.
43
52
44
-
**Live Editing with CodeMirror ([PR#11814](https://github.com/Submitty/Submitty/pull/11814))**-
53
+
**Live Editing with CodeMirror ([PR#11814](https://github.com/Submitty/Submitty/pull/11814))**
45
54
Rather than just using a basic text area, I implemented Code Mirror to allow for a more customizable experience, and native tab support.
Took advantages of Code Mirror's features by adding toggles for line numbers and tab size.
52
61
53
-
**Download Config as ZIP ([PR#11973](https://github.com/Submitty/Submitty/pull/11973))**-
54
-
Added the ability to download the entire config directory as a ZIP archive for backup or transfer. This allows users to save edits they made on the site editor for future use.
62
+
**Download Config as ZIP ([PR#11973](https://github.com/Submitty/Submitty/pull/11973))**
63
+
Added a button to download the entire config directory as a ZIP archive, allowing users to save edits they made on the site editor for future use.
55
64
56
-
**Design & UX Polish ([PR#11991](https://github.com/Submitty/Submitty/pull/11991) and [PR#12003](https://github.com/Submitty/Submitty/pull/12003))**-
57
-
Refined visual layout and interactions to feel intuitive and consistent with the rest of Submitty. Changes include highlighting selected files, adding tool tips to the customize toggles, making switch between text files smooth, ensuring correct file order (root-level directories first, then root-level files), and improving overall spacing.
65
+
**Design & UX Polish ([PR#11991](https://github.com/Submitty/Submitty/pull/11991) and [PR#12003](https://github.com/Submitty/Submitty/pull/12003))**
66
+
Refined visual layout and interactions to feel intuitive and consistent with the rest of Submitty. Changes include highlighting selected files, adding tool tips to the customize toggles, smoothing out the transition between text files, ensuring correct file order (root-level directories first, then root-level files), and improving overall spacing for readability.
58
67
59
-
**Edit Directory File (Coming Soon)**-
68
+
**Edit Directory File (Coming Soon)**
60
69
Allows users who pull from Submitty's private course repository to use the gradeable config editor. Before I can create this, there is a security vulnerability that must to be addressed. Currently, there are no checks to ensure that the user pulling from the repository owns the file. This means that anyone with SSH access would be able to edit any autograding configuration on the web app.
**Filter Withdrawn Students ([PR#11792](https://github.com/Submitty/submitty.github.io/pull/11792))**
82
90
Initially created by GitHub user [yanliw123](https://github.com/yanliw123). To streamline grading, this PR adds a toggle that hides withdrawn students from the grading page, so TAs can focus only on active students.
Added two students with registration_type set to `withdrawn` and two with `audit` to the existing sample data, which uses a seeded random number generator. Modifying this data shifted all related values, requiring updates to 25+ Cypress test files to ensure the feature integrated seamlessly.
92
+
**Add Audit / Withdrawn to Sample Data ([PR#11882](https://github.com/Submitty/submitty.github.io/pull/11882))**
93
+
Added two students with registration_type set to `withdrawn` and two with `audit` to the existing sample data, which uses a seeded random number generator. Modifying this data shifted all related values, requiring updates to 20+ Cypress test files to ensure the feature could be integrated.
Initially created by [Michael Papadopoulos](https://submitty.org/developer/rensselaer_center_for_open_source/2024_Michael_Papadopoulos). When overriding a grade in a team gradeable, instructors would have to process each student individually. Now, a popup listing the student’s teammates displays, notifying the instructor that they have teammates, and asking if they want to override them as well.
91
97
92
98
### Reflection
@@ -98,12 +104,15 @@ Working on Submitty felt a lot like being part of a fast-moving startup, where e
98
104
### Future Plans for Submitty
99
105
I am planning to work on Submitty in Fall 2025 and Spring 2026 (and beyond!). Here are some features I am interested in adding:
100
106
101
-
-**Enhance the Autograding page** – A vital tool for instructors; improving it means a better experience for everyone.
102
-
-**Transform the home page into a dashboard** – Centralize key info like upcoming gradeables and grade summaries, reducing the need to jump between courses.
103
-
-**Refactor and modularize `forum.js`** – The forum is a favorite feature but trapped in a single 3,000-line file. Breaking it up will make it cleaner, faster, and easier to improve.
107
+
-**Mentor new developers** – Having experienced the challenge of learning Submitty’s large codebase as a newcomer, I’m eager to share my knowledge and help new contributors get up to speed quickly while enjoying the process along the way.
108
+
-**Enhance the Autograding Configuration page** – A vital tool for instructors; improving it means a better experience for everyone.
109
+
-**Transform the home page into a dashboard** – Adding notifications was a good start, but there is more information to centralize such as grade summaries and upcoming gradeables.
110
+
-**Refactor and modularize `forum.js`** – The forum is a favorite feature but most of its JavaScript is in a single 3,000 line file. Breaking it up will make it cleaner, faster, and easier to improve.
104
111
-**Improve site intuitiveness and maintainability** – Tackle tech debt with cleaner CSS, fewer inline scripts, smaller files, and stronger testing, making the platform friendlier for all developers.
105
-
-**Convert pages to Vue** – The component-based approach is a joy to work with and a strong candidate to become a core part of the stack.
106
-
-**Deepen database integration** – Excited to apply upcoming coursework to build smarter, more efficient database features.
107
-
-**Explore WebSockets** – Real-time features could level up many parts of Submitty, and I’m eager to dive in.
112
+
-**Convert more pages to Vue** – The component-based approach is a joy to work with and a strong candidate to become a core part of the stack.
113
+
-**Work with the database** – I'm taking Database Systems next semester, and am excited to apply what I learned to Submitty!
114
+
-**Explore WebSockets** – I still haven't worked with them much, and want to learn more!
115
+
116
+
--
108
117
109
-
Overall, this summer has been an invaluable experience in my journey to becoming a software developer. I would like to thank Professor Cutler, my teammates, and RPI for making this happen. I’m so proud of all that we accomplished and excited to see what we create next!
118
+
Overall, this summer has been an invaluable experience in my journey to becoming a real-world software developer. I would like to thank Professor Cutler, my teammates, and RPI for making this happen. I’m so proud of all that we accomplished and excited to see what we create next!
0 commit comments