Freelance: Ruby on Rails: Update application to Rails 7, Ruby 3, Bootstrap 5
Description
Overview
Boston Public Library’s Digital & Online Services department is seeking an experienced Ruby on Rails developer to update an existing Rails application (https://collections.leventhalmap.org/) to use the latest versions of all major underlying dependencies: Ruby, Rails, Bootstrap, Blacklight.
This project is not focused on adding new functionality or features to the application, the primary objective is updating the existing application code, graphic design, and tests to work with the latest versions of Ruby, Rails, and Bootstrap.
Scope of work
The goal of this project is to update the major dependencies for an existing Rails application currently in production.
URL: https://collections.leventhalmap.org/
Code: https://github.com/boston-library/bpl-mapportal/tree/develop/src/portal *
Current dependencies: Ruby: 2.2, Rails: 4.2, Bootstrap: 3.2, Blacklight 6.*
Desired dependencies: Ruby: 3.2, Rails 7.2, Bootstrap 5.3, Blacklight 8.*
* The repository is private, interested parties should contact the project manager to request access in order to estimate the cost of the project. Please include detailed information about your qualifications and a link to your web site, online portfolio, or GitHub profile in your request.
This application is a digital library interface that provides access to historical maps from the Norman B. Leventhal Map & Education Center at the Boston Public Library. The application allows users to search the collection, view image content, download high-resolution files, sign up for an account, and create lists of favorite items, as well as other features.
This application was originally built in 2017 and has been largely neglected since that time. Updating the major dependencies will also require updates to many other gems used by the application.
The visual design of the site should be maintained as close to the current appearance as possible; the HTML, CSS, and JS code will need to be refactored to use Bootstrap 5 components and styles. Some dependencies and functionality that are no longer desired will also be removed (see below).
The relevant Rails application code (./src/portal) is currently embedded in a larger code repository that includes development container configuration, other applications, and deployment playbooks -- it should be separated from these components and extracted to a new repository. Refactoring existing or creating new deployment code is not a part of this project.
Other major objectives for this project include:
- Replace CASino-based login functionality with devise
- Replace georeferencing functionality with blacklight-allmaps gem
- Remove unwanted models, controllers, views, routes, and specs for:
- CurriculumMaterial
- Exhibit
- MapSet
- Add puma as the application server
- Dockerization for development (Dockerfile and docker-compose.yml)
During the project you will work with the Project Manager and Boston Public Library’s Digital Repository development team -- they will be available to answer questions, provide more detail as needed, and facilitate access to APIs and services that will be needed to test the application.
Skills required
This project requires significant demonstrated experience with:
- Application development using Ruby on Rails
- Front-end theming and customization using Bootstrap
- Test-driven development
- Software version control
Preferred qualifications:
- Experience with JavaScript map libraries such as Leaflet.
- Experience contributing to open-source software projects.
Cost
Total cost not to exceed $20,000.
Bids should be submitted with the total price for the whole project, not an hourly rate.
Timeline
Start date flexible but not before November 1, 2024; completion desired by March 1, 2025.
Deliverables
- Repository on GitHub.com containing all application code, with passing tests
- README with instructions for installation, configuration, and testing.
About NBLMEC & BPL
The Norman B. Leventhal Map & Education Center at the Boston Public Library, created in 2004, is a nonprofit organization that provides access to over 200,000 maps for the enjoyment and education of all through exhibitions, educational programs, and online collections. NBLMEC’s map collection is global in scope, dating from the 15th century to the present, with a particular strength in maps and atlases from the New England region, American Revolutionary War period, nautical charts, and world urban centers.
Founded in 1848 by an act of the General Court of Massachusetts, the Boston Public Library (BPL) is the first large free municipal library in the United States. Every year, well over 3.5 million people visit the Boston Public Library and another 5.2 million people connect with the BPL through its website www.bpl.org to take advantage of its many services and collections. In addition to its 8.9 million books, the library boasts a wealth of rare books and manuscripts, maps, musical scores, prints, and an ever-growing collection of electronic resources, downloadable media and digitized historical materials. Among its unique collections the BPL holds several first edition folios by William Shakespeare, original music scores from Mozart to Prokofiev, and the personal library of John Adams.
Proposal Guidelines & Evaluation Criteria
Proposals should be submitted via email to the project manager.
Any questions about this RFP should be submitted via email to the project manager no later than September 20, 2024.
The proposal should address how the bidder intends to fulfill the project requirements. Included in the proposal should be clearly marked sections, describing:
- Qualifications: A summary of your background and experience.
- Portfolio examples: A list of similar projects, preferably with links to the code on Github, Gitlab, Bitbucket, etc.
- Implementation plan: An overview of how you will execute the project, including work process, milestones, and scheduling.
- Cost: Include all fees.
- Payment: Describe the invoicing procedure and payment terms.
- References: Include references for at least two (2) clients with projects of similar scale and complexity.
The successful bidder must be able to respond within 48 hours of notice to questions from BPL; this responsiveness to be without additional cost.
Responses due by: September 25, 2024
How to apply
Metadata
Published: Thursday, September 12, 2024 16:12 UTC
Last updated: Thursday, September 12, 2024 16:12 UTC