{"id":27874044,"url":"https://github.com/maxmonis/goatvote-v1","last_synced_at":"2025-05-05T01:18:48.897Z","repository":{"id":65608216,"uuid":"594892141","full_name":"maxmonis/GoatVote-v1","owner":"maxmonis","description":"Original version of goat-vote.com, a social media site for rating athletes (MERN, Firebase Auth, Wikimedia API)","archived":false,"fork":false,"pushed_at":"2023-09-30T20:15:10.000Z","size":286,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-05T01:18:43.221Z","etag":null,"topics":["firebase-auth","mern-stack","mui","wikimedia"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/maxmonis.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}},"created_at":"2023-01-29T23:41:50.000Z","updated_at":"2025-01-24T19:26:15.000Z","dependencies_parsed_at":"2023-08-27T19:07:35.706Z","dependency_job_id":"d44f300a-bc41-4212-946f-725e67b2993a","html_url":"https://github.com/maxmonis/GoatVote-v1","commit_stats":null,"previous_names":["maxmonis/goatvote.ca","maxmonis/goatvote-v1"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmonis%2FGoatVote-v1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmonis%2FGoatVote-v1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmonis%2FGoatVote-v1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxmonis%2FGoatVote-v1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxmonis","download_url":"https://codeload.github.com/maxmonis/GoatVote-v1/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252420914,"owners_count":21745154,"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":["firebase-auth","mern-stack","mui","wikimedia"],"created_at":"2025-05-05T01:18:47.938Z","updated_at":"2025-05-05T01:18:48.880Z","avatar_url":"https://github.com/maxmonis.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# goatvote.ca\n\nThis MERN app uses Firebase for authentication and allows users to vote on which\nathletes are the best in various categories and timeframes. The repo is a\nmonolith which houses both the server and client.\n\nThere are numerous issues which have arisen as a result of the limitations of\nWikimedia data so I'm working on a new version of this site\n([goat-vote.com](https://www.goat-vote.com/)) with a different API, but have\ndecided to leave this one as a sort of time capsule.\n\n## Requirements\n\nYou'll need `Node.js`, `Yarn`, and `NVM (Node Version Manager)` installed on\nyour machine to run this app locally.\n\nNode can be installed by following the instructions at\n[nodejs.org](https://nodejs.org/).\n\nYarn can then be added:\n\n```\nnpm install --global yarn\n```\n\nYou can add NVM by following the instructions at\n[@nvm-sh/nvm](https://github.com/nvm-sh/nvm).\n\n---\n\n## Installation\n\nClone the repo onto your machine and cd into it:\n\n```\ngit clone https://github.com/maxmonis/goatvote.ca.git\ncd goatvote.ca\n```\n\nDownload all dependencies of both the server and client:\n\n```\nyarn setup\n```\n\n---\n\n## Configuration\n\nCreate a gitignored file with MongoDB credentials:\n\n```\ntouch config/default.json\n```\n\nWithin that file you'll need to add credentials from a Mongo database, for\nexample:\n\n```\n{\n  \"mongoURI\": \"put_your_connection_string_here\",\n  \"jwtSecret\": \"and_a_secret_of_your_choice_here\"\n}\n```\n\nFollow the instructions at [mongodb.com](https://www.mongodb.com/) if you need\nto create a new database.\n\nThe client will also need Firebase credentials for authentication, so create a\ngitignored env file:\n\n```\ntouch app/.env.local\n```\n\nNow add your auth credentials to that file, these are the required keys:\n\n```\nREACT_APP_API_KEY=\nREACT_APP_APP_ID=\nREACT_APP_AUTH_DOMAIN=\nREACT_APP_MEASUREMENT_ID=\nREACT_APP_MESSAGING_SENDER_ID=\nREACT_APP_PROJECT_ID=\nREACT_APP_STORAGE_BUCKET=\n```\n\nFollow the instructions on [firebase.google.com](https://firebase.google.com/)\nif you need to create a new project.\n\n---\n\n## Development\n\nEnsure you're using the correct Node version from the `.nvmrc` file (you should\nonly need to do this once per session):\n\n```\nnvm use\n```\n\nStart the server and client in development mode:\n\n```\nyarn dev\n```\n\n---\n\n## Production\n\nCreate a production build of the app:\n\n```\nyarn build\n```\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxmonis%2Fgoatvote-v1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxmonis%2Fgoatvote-v1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxmonis%2Fgoatvote-v1/lists"}