The Observatory is the codename given to the RCOS website, which is used to track projects, members, attendance, and more.
There have been numerous iterations of the Observatory. We think this is the 5th?
Check it out now at:
http://rcos-observatory.cs.rpi.edu
These slides are also available at:
https://gist.github.com/rushsteve1/ada11fd2ee6fb80755481e4ab97d054b
- Steven vanZyl
- Brian Mejia
- Patrick Berne
- Samuel Burnham
- Sean Dowd
- Darrian Gardea
- Will He
The current version of Observatory is outdated and clunky. Any attempt to improve it would be more effort than a rewrite.
There was a previous attempt at a rewrite, however that project was abandoned near completion by its creator and is problematic for a number of reasons.
The majority of the code is in Rust with HTML templates in the Jinja2 templating syntax. The database is SQLite and we wrap it all up with Docker/OCI containers. We also use Bootstrap for the CSS, and a number of Rust libraries such as Rocket and Diesel.
Up until now we have gotten the majority of major features in, and the site is mostly functional. This has taken several months, but we are approaching the goal!
- Increase stability
- Run a Beta test in a small group
- Polish off the Grade Summary
- Improve documentation (since I’ve been lazy)
Logging was added for important events such as attendance and project creation. This lets us review and audit events on the observatory so that we can easily keep track of important happenings.
Much of the code was missing proper documentation and generally needed to be a bit cleaner. This has been a continual effort by the whole team, but Sean was focused on it.
There have been many many bugs that have shown themselves in the process of both our development, and our beta testing, and each needed to be squashed in turn.
A major feature that was requested was the ability to see both what a user has attended, and who attended a meeting or event.
A currently ongoing effort to improve the look of the site as a whole and make it more modern using Bootstrap.
Began improving our test system to include testing individual pages in order to catch breakages and regressions before they even happen.
The calendar is a key feature of our new Observatory, and now has both a month
and list view using FullCalendar. As well as a noscript
version for the security-minded.
Including…
- User and project former/external flags
- Setup CI/CD and automated tests
- Improve security and code safety
We got off to a rocky start, but once the semester got going and we had ironed out some of the major bugs, it was actually quite stable and is increasingly so.
So overall it went pretty well, and was fully able to serve our purposes including taking attendance.
In the last 3 months we have…
- Opened 21 issues
- Closed 18 issues
- Merged 19 pull requests
- Made a total 96 commits
- Complete improving the visuals
- Complete more thorough documentation
- Improved testing to catch bugs
- Improve the Attendance flow and features
- Continue improving aesthetics
- Fix any remaining bugs
- Consider new features and improvements
- Prof. Turner
- Prof. Goldschmidt
- RCOS Mentors and Coordinators
- Those who came before us and made RCOS what it is today!