We are looking for a remote freelance developer with the ability to fix issues and update the open source code base of Voicerepublic.com using Ruby on Rails, storage and other web technologies. Goals: To ensure security through updating to latest versions, to fix issues impacting functionality, to ensure a working transition from S3 to Backblaze and to enable the automatic deployment of the project from GitHub to a Debian server.
This freelance project would include a serious functionality check after the updates. Changes and deployment should be documented following best practices.
The Github pages are
- User: https://github.com/voicerepublic/voicerepublic_dev
- Admin Interface: https://github.com/voicerepublic/vr-backoffice
Ruby is already updated to 2.4 and working on Debian Buster (See the “buster” branch in the project repository). Other technologies include: Capistrano, Websocket, AWS S3 (on Backblaze), ClojureScript (Clojure), CoffeeScript, ActiveAdmin, AngularJS, Cdist. The website should be deployed (again) to VoiceRepublic (voicerepublic.com).
The following needs to be taken care of as part of the project.
1. Updates and Dependencies
Please update to well-supported Ruby and Rails versions to ensure the system can run smoothly. Desired versions:
- Update Ruby 2.4.N to Ruby 2.7.1
- Update Rails 4.2.0 to Rails 6.1.x.
- Bump dependencies to latest version (also see automatic Dependabot PRs)
2. Data Sources and Deployment
- Switch to Backblaze’s S3 as storage engine (data is already transferred)
- Do changes in uploading code needed for compatibility with B2, also see https://github.com/voicerepublic/voicerepublic_dev/issues/891
- Rename “Integration” branch to “development” branch. Deploy development and master branch automatically with Travis to run the system including admin app (backend). For settings use environment variables on Travis.
- Automatically create docker images
- Add (semi)automatic tests to ensure Upload and Streaming functionality works on Backblaze (start with manual tests)
- Set up Vercel or another suitable service to create a test installation for each PR
3. Office Backend
- Solve issues – batch actions, enable delete and show “public page link” – in back office to re-enable administration tasks
- Add system config settings, e.g. Backblaze S3 keys, Mailgun, other config options into the backoffice settings UI
4. Voicerepublic User System
- Fix missing images and ensure all media files come from internal resources (not external)
- Unlink Streamboxx page https://voicerepublic.com/pages/streamboxx. We currently don’t provide this feature but might come back to it later again.
- Update dead/outdated links to blog, help, etc. e.g. to Twitter it should be https://twitter.com/VoiceRepublic_
- Delete tawk.to box service
- Fix links to public pages
- Take out Facebook Login (comment out the code in case we come back later)
- Fix RSS issue resulting in a lot of resource usage
- Add a privacy respecting captcha for user sign up
- Check validity of https://github.com/voicerepublic/voicerepublic_dev/blob/integration/CONFERENCE.md and move any still relevant content to Readme.md. Then delete file.
- Move deployment info to folder /docs, delete any outdated content and update deployment info. Current file at https://github.com/voicerepublic/voicerepublic_dev/blob/integration/DEPLOYMENT.md