For this project, I created a CRUD application entirely within the Rails framework. The application is a simple fish aquarium organizer, where users can create, read, update, and delete aquariums, and ideally the fish within them. The application also includes a user authentication system, so that users can sign up and log in to their own accounts, and view other's accounts without giving write-access to visitors. I also used Tailwind CSS to style the application, branching away from Bootstrap after my experience in the Codefi paid work experience program.
Expanding on an earlier class assignment, I utilized Open-URI and Nokogiri to scrape fish data from three Wikipedia pages listing common varieties of freshwater, salt-water, and brackish aquarium fish. I then seeded the database with the scraped data. My intent was to add a search feature to allow users to search for fish by name, and add them to their aquarium. If a fish from a freshwater tank was added to a brackish or salt-water tank, the user would be prompted with a warning message that it may not be suitable for their aquarium, and vice versa for salt-water fish in freshwater. Brackish fish, which are more comfortable in a wider salinity range, would still get a warning in either fresh or salt-water, but would be allowed to confirm the addition. Unfortunately, I was unable to complete this feature before the project deadline.
The fish are present in the app though, as complete objects with common name, scientific name, a small image, their approximate size in inches, additional facts, and their preferred water type. They can be viewed, and can be seen in the dropdown menu when creating a new aquarium. Users can choose several aspects when creating an aquarium, from water type, gallon size, filter and substrate types, and whether it has live plants or artificial decorations.