{"id":18425848,"url":"https://github.com/faforever/map-pool-app","last_synced_at":"2025-04-13T18:18:35.744Z","repository":{"id":37600345,"uuid":"162944749","full_name":"FAForever/Map-Pool-App","owner":"FAForever","description":"A web app for auto-generation of map pools for ladder team @ https://www.faforever.com/","archived":false,"fork":false,"pushed_at":"2022-12-08T01:32:23.000Z","size":708,"stargazers_count":0,"open_issues_count":6,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-16T08:17:16.843Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FAForever.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-24T03:14:52.000Z","updated_at":"2019-01-28T13:45:54.000Z","dependencies_parsed_at":"2023-01-24T16:01:06.951Z","dependency_job_id":null,"html_url":"https://github.com/FAForever/Map-Pool-App","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FAForever%2FMap-Pool-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FAForever%2FMap-Pool-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FAForever%2FMap-Pool-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FAForever%2FMap-Pool-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FAForever","download_url":"https://codeload.github.com/FAForever/Map-Pool-App/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248758424,"owners_count":21156959,"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-11-06T05:06:07.282Z","updated_at":"2025-04-13T18:18:35.723Z","avatar_url":"https://github.com/FAForever.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FAF Map Pool App\n\n##### **Currently hosted at - https://fluffypoolapp.herokuapp.com/**\n##### Initial load could be very slow, this is a limitation of Heroku free hosting\n\nThis is web app that allows for auto-generation of ladder/tournament map pools and any other arbitrary customized map selection. It is currently used by the ladder team of https://www.faforever.com/ to generate ladder pools.\nMaps are fetched from the [ladder pool](https://goo.gl/wBqxQu) sheet where they review maps. (a cut version for the sake of sanity of ladder team)\n\n\n:ok_hand: **Doesn't work in IE** :ok_hand:\n\n\nProject uses Django with Django-Rest-Framework for back-end and React for front-end.\n\nYou will need python 3.6+, pip, pipenv and npm/yarn (pip 18.0 might throw exceptions) and node 8+\n\n### Installing packages:\n\n    -pipenv install\n    -npm install\n\n### Local Development:\n\nRun over MapPoolApp/settings.py and change allowed hosts, add secret key to .env, change debug mode and whatever you need.\nWe use pipenv for virtual environment so just assume that you need to `pipenv shell` before running any python commands. `python manage.py loaddata djangoDump.json` to populate a db from maps fixture. It's real map data pulled from the ladder team sheet. If you have access to it or have created your own sheet you can use the `fetchMapsIntoJson` method from mappool/extra_logic/maps to get an updated json.\n\n\n#### Production-like environment\n###### Using Heroku:\n\n    -npm run build\n    -heroku local -f Procfile.windows / heroku local Procfile\n\nProject is configured for heroku deployment, if you have heroku CLI you can use `heroku local -f Procfile.windows` / `heroku local Procfile` to fire the commands in Procfile to launch the most close-to-production server available.\n\n###### Without Heroku:\n\n    -npm run build\n    -pipenv shell\n    -python manage.py runserver\n\nThis will launch a django dev server. Basically the same as heroku method, just skipping some overhead that's useful if you are planning to deploy to heroku. Both of these methods are single-server, they serve static files from build or staticfiles folder in the root of this project depending if you run `python manage.py collectstatic`. To see any change to them you will have to build again.\n\n#### Development environment\n###### Two Development Servers:\n\n    -pipenv shell\n    -python manage.py runserver\n    -npm start\n\nYou launch 2 dev servers for front-end and back-end separately in which case you don't need to build every time. They will use different ports so make sure to uncomment CORS_ORIGIN_ALLOW_ALL and cors middleware+app in MapPoolApp/settings.py for api fetching from local db.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaforever%2Fmap-pool-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffaforever%2Fmap-pool-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaforever%2Fmap-pool-app/lists"}