Skip to content

Instantly share code, notes, and snippets.

@rushsteve1
Last active November 19, 2019 21:55
Show Gist options
  • Save rushsteve1/ada11fd2ee6fb80755481e4ab97d054b to your computer and use it in GitHub Desktop.
Save rushsteve1/ada11fd2ee6fb80755481e4ab97d054b to your computer and use it in GitHub Desktop.
Observatory F19 Final Presentation

Observatory Fall 2019

What is the Observatory

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?

Links

Check it out now at:

http://rcos-observatory.cs.rpi.edu

These slides are also available at:

https://gist.github.com/rushsteve1/ada11fd2ee6fb80755481e4ab97d054b

Who are we?

  • Steven vanZyl
  • Brian Mejia
  • Patrick Berne
  • Samuel Burnham
  • Sean Dowd
  • Darrian Gardea
  • Will He

Why did we rewrite it?

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.

What did we rewrite it in?

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.

What has already been done?

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!

What did we set out to do?

  • Increase stability
  • Run a Beta test in a small group
  • Polish off the Grade Summary
  • Improve documentation (since I’ve been lazy)

What did we do?

Audit Logging [Brian]

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.

Improved Documentation [Sean]

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.

Fix Bugs [Steven]

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.

Meeting Pages [Patrick]

A major feature that was requested was the ability to see both what a user has attended, and who attended a meeting or event.

Improve Visuals [Darrian]

A currently ongoing effort to improve the look of the site as a whole and make it more modern using Bootstrap.

Improve Tests [Sammy]

Began improving our test system to include testing individual pages in order to catch breakages and regressions before they even happen.

Calendar Improvements [Will]

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.

And much more!

Including…

  • User and project former/external flags
  • Setup CI/CD and automated tests
  • Improve security and code safety

How’d the Beta go?

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.

Stats and Numbers

In the last 3 months we have…

  • Opened 21 issues
  • Closed 18 issues
  • Merged 19 pull requests
  • Made a total 96 commits

What do we still want to do?

Before the end of the semester

  • Complete improving the visuals
  • Complete more thorough documentation
  • Improved testing to catch bugs

In the future

  • Improve the Attendance flow and features
  • Continue improving aesthetics
  • Fix any remaining bugs
  • Consider new features and improvements

Thank You!

  • Prof. Turner
  • Prof. Goldschmidt
  • RCOS Mentors and Coordinators
  • Those who came before us and made RCOS what it is today!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment