{"id":13818985,"url":"https://github.com/guitar71989/Findaloo","last_synced_at":"2025-05-16T04:32:03.944Z","repository":{"id":216966592,"uuid":"69814200","full_name":"guitar71989/Findaloo","owner":"guitar71989","description":"Findaloo is a Yelp-inspired web application designed to help New Yorkers find free and convenient restrooms in their local neighborhoods. The backend is built using Ruby on Rails on a PostgreSQL database, and the frontend employs React within the Redux framework.","archived":false,"fork":false,"pushed_at":"2016-11-21T20:29:09.000Z","size":11926,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-19T18:45:23.818Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://findaloo.herokuapp.com/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guitar71989.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-02T18:29:58.000Z","updated_at":"2023-10-24T07:09:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"6ffdc641-716c-4422-ac70-d9ad4b2942a2","html_url":"https://github.com/guitar71989/Findaloo","commit_stats":null,"previous_names":["guitar71989/findaloo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitar71989%2FFindaloo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitar71989%2FFindaloo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitar71989%2FFindaloo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guitar71989%2FFindaloo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guitar71989","download_url":"https://codeload.github.com/guitar71989/Findaloo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254469144,"owners_count":22076442,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T08:00:36.877Z","updated_at":"2025-05-16T04:32:02.795Z","avatar_url":"https://github.com/guitar71989.png","language":"Ruby","funding_links":[],"categories":["Happy Exploring 🤘"],"sub_categories":[],"readme":"# Findaloo\n\n[Visit Findaloo][live]\n\n[live]: http://findaloo.herokuapp.com/#/?_k=9qe23h\n\nFindaloo is a Yelp-inspired web application designed to help New Yorkers\nfind free and convenient restrooms in their local neighborhoods.\nThe backend is built using Ruby on Rails on a PostgreSQL database, and\nthe frontend employs React within the Redux framework.\n\n![Home Page](./screenshots/main-page.png)\n\n## Features \u0026 Implementation\n\nFindaloo is a single-page application, dynamically updating without constant\nreloads. Upon first rendering, both authenticated and non-authenticated users\nare brought to the index page of \"loos\" (i.e. restrooms) on the default map.\n\n## Map\n\nA central feature of Findaloo is the index page's map. With the deep integration\nof the Google Maps API, Findaloo has been able to enhance its geolocation\nfunctionality. For example, the loos that are shown on the index page are\nfiltered by the bounds of the map (among other parameters). Other uses of the\nGoogle Maps API autocomplete searching and adding a loo by clicking the location\non the map. In addition, Findaloo integrates Google Maps StreetView API\nto seed the database with authentic pictures at each location.\n\n![Demo](./screenshots/demo.gif)\n\n\n## Filtering\n\nIn addition to filtering by the bounds of the map, users can also\nfilter the loos on the index page by their average review ratings.\nForgoing the need to create additional columns on the loos table,\nI've created class methods on the loo model which query the database to\nperform this filter.\n\n![Filtering Code](./screenshots/filtering_code.gif)\n\n\n## Reviews\n\nReviews are displayed with the current users' review at the top of the\npage, and then all other user reviews following after. If the user\ndoes not have a review, he/she are prompted to create a review for this\nloo. If the user is not signed in, they will be prompted to sign in to\nreview this loo. To implement this, I separated out current user review\nand other reviews into separate variables in the Loo controller so that\nthe loo show component can render them appropriately.\n\n![Reviews](./screenshots/reviews.png)\n\nIn addition to reviewing individual user reviews, by adding methods to the Loo model,\nusers can also retrieve aggregate data regarding average rating and number of reviews for each loo.\nWith Google Maps API's built-in infoWindow, this relevant information appears\nwhen users click on an icon.\n\n![Reviews](./screenshots/addloo.png)\n\n##User authentication\n\nTo authenticate users without storing their password, I implemented\nBCrypt encryption to store an encrypted-version of the password. In addition,\nI bootstrapped the current user alongside my HTML to ensure that the app\nknows who the current user at all times.\n\n![User-auth](./screenshots/user-auth.png)\n\n![User](./screenshots/user.png)\n\n\n## Forthcoming\n\n* Users will be able to create a profile\n* Users will be able to sign up with Google or Facebook\n* Users will be able to filter by number of reviews\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguitar71989%2FFindaloo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguitar71989%2FFindaloo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguitar71989%2FFindaloo/lists"}