Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor project python -> ruby #16

Merged
merged 7 commits into from
Dec 14, 2020
Merged

Refactor project python -> ruby #16

merged 7 commits into from
Dec 14, 2020

Conversation

benbusby
Copy link
Owner

This project has been stale for a while, which is largely due to a
number of poor decisions made when developing the project. Namely:

  • The user creation process was overly complicated
  • The project had an unconventional python set up that was unnecessarily
    compensated for in the setup script
  • The run script was fairly clunky
  • There was no testing of any kind
  • The backend mostly just consisted of a single file, and relied
    heavily on third party libraries, which were imported haphazardly

All of these and more are generally fixed with this refactor, which will
hopefully allow me to revisit this project and give it more attention.
The code is a lot simpler now, and has a fair amount of testing to
ensure that basic functionality and routing works as expected. It will
probably never be able to test the GPIO functionality (since that's hard
to do without a physical device) and the video streaming functionality
(since a lot of that is reliant on Janus).

Eventually this could be expanded on to also run the setup script, once
that has been updated to not have any need for user interaction.

The previous python implementation will be frozen into branch "python".

For anyone curious about this refactoring, feel free to reach out to me
to learn more. I'm also planning on writing a blog post about my
reasoning behind the language change.

This project has been stale for a while, which is largely due to a
number of poor decisions made when developing the project. Namely:
- The user creation process was overly complicated
- The project had an unconventional python set up that was unnecessarily
compensated for in the setup script
- The run script was fairly clunky
- There was no testing of any kind
- The backend mostly just consisted of a single "god file", and relied
heavily on third party libraries, which were imported haphazardly

All of these and more are fixed with this refactor, which will hopefully
allow me to revisit this project and give it more attention. The code is
a lot simpler now, and has a fair amount of testing to ensure that basic
functionality and routing works as expected. It will probably never be
able to test the GPIO functionality (since that's hard to do without a
physical device) and the video streaming functionality (since a lot of
that is reliant on Janus).

Eventually this could be expanded on to also run the setup script, once
that has been updated to not have any need for user interaction.

The previous python implementation will be frozen into branch "python".

For anyone curious about this refactoring, feel free to reach out to me
to learn more. I'm also planning on writing a blog post about my
reasoning behind the language change.
The preference for this project is double quotes.
@benbusby benbusby merged commit 6dde68d into main Dec 14, 2020
@benbusby benbusby deleted the ruby-refactor branch December 14, 2020 02:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant