{"id":18715812,"url":"https://github.com/k9mil/statum","last_synced_at":"2025-07-31T08:12:01.735Z","repository":{"id":121685188,"uuid":"439451874","full_name":"k9mil/statum","owner":"k9mil","description":"🗺️ A data-driven website oriented around Twitch. Written in Python + Flask, with MongoDB.","archived":false,"fork":false,"pushed_at":"2022-06-28T17:25:02.000Z","size":235,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T13:12:40.002Z","etag":null,"topics":["css","dashboard","flask","jinja2","mongodb","python","streamer","twitch","web-app"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/k9mil.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-17T20:26:34.000Z","updated_at":"2025-01-14T05:51:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"91b6a7fd-c557-4fa4-ad16-7cb1db4b44bd","html_url":"https://github.com/k9mil/statum","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/k9mil%2Fstatum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k9mil%2Fstatum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k9mil%2Fstatum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/k9mil%2Fstatum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/k9mil","download_url":"https://codeload.github.com/k9mil/statum/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248571874,"owners_count":21126522,"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":["css","dashboard","flask","jinja2","mongodb","python","streamer","twitch","web-app"],"created_at":"2024-11-07T13:10:19.564Z","updated_at":"2025-04-12T13:12:45.670Z","avatar_url":"https://github.com/k9mil.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# What is statum? 🗺️\r\n\r\nstatum, a side project, is a web app built in Python, Flask \u0026 MongoDB which serves as a tool to make the usage of Twitch more enjoyable, with unique features \u0026 the ability to get in-depth information of your most beloved streamers.\r\n\r\n## Preview\r\n\r\nBelow you can see a few screenshots from the current UI, though subject to change.\r\n\r\nHome Page             |  Dashboard\r\n:-------------------------:|:-------------------------:\r\n![Home Page](https://i.imgur.com/K0mqVVe.jpg)  |  ![Dashboard](https://i.imgur.com/O1Qdh6s.jpg)\r\nRandom             |  VODs\r\n![Random](https://i.imgur.com/XyaxDVV.jpg)  |  ![VODs](https://i.imgur.com/Dm7SFjY.jpg)\r\nStreamer Page | Favourite VODs\r\n![Streamer Page](https://i.imgur.com/5jUeZNk.jpg) | ![favVODs](https://i.imgur.com/FHKyAbs.jpg)\r\n\r\n## Features\r\n\r\n- Incorporated Twitch OAuth, which allows for your followers to be loaded instantaneously.\r\n- Ability to view a random twitch stream between 10 and 100 viewers to help to support smaller streamers.\r\n- An aesthetically pleasing dashboard with a list of your followed streamers, top streamers \u0026 top circulating LSF clips.\r\n- If the streamer is live, it displays the category they are in \u0026 length of stream.\r\n- List of VODs for each streamer.\r\n- List of the current most popular twitch clips, alongside with their metrics.\r\n- Unique Streamer Data insights for each streamer on the platform.\r\n- Utilization of MongoDB for indexing streamers to minimize the amount of requests \u0026 user sessions.\r\n- Ability to add streamers to favourites.\r\n- See VODs of your favourite streamers.\r\n\r\n\u0026 much more!\r\n\r\n## Working on\r\n\r\nThe backlog of the features yet to be implemented are available on a public Trello workspace which can be viewed at [statum, board](https://trello.com/b/b6WPU1j8/statum-board).\r\n\r\n## Demo Server\r\n\r\nA demo server is available, on a DigitalOcean droplet, alongside a custom load-balanced multi architecture built with Docker, Nginx \u0026 uWSGI: [statum](https://statum-demo.tk/). *note: may or may not be up-to-date (or down).\r\n\r\n## Installation process\r\n\r\nIf you wish to run this web app locally, [Python](https://www.python.org/) will be **necessary** for you to be able to run this web application.\r\n\r\n[MongoDB](https://www.mongodb.com/) is necessary for the functionality of the web app, so some knowledge is required and MongoDB is required to be installed on your local machine.\r\n\r\n1. To host this web app, you need to register a [Twitch](https://dev.twitch.tv/console/apps/create) Application which will server as the basis of this program.\r\n2. After you have registered the Twitch Application, you have to click \"Manage\" and locate the \"CLIENT ID\" which you can paste in the config.py file.\r\n3. Generate an OAuth token, after that, you have to put that in the config.py file aswell.\r\n4. Open your terminal/command line where the source code for statum is located.\r\n5. Install the dependencies needed via \"pip install -r requirements.txt\" (if that doesn't work, try pip3 instead of pip)\r\n6. Setup the app for flask: $env:FLASK_APP=\"statum\"\r\n7. Setup the environment variables for flask: \"$env:FLASK_ENV=\"development\" (optional, debug mode)\r\n8. Run the flask web app via \"flask run\". \r\n\r\nAfter that, you're set.\r\n\r\n## Contributing\r\n\r\nIf you wish to contribute, f.e, making an improvement to this web app, then feel free to make a pull request as this app definitely has a lot of flaws. Or, alternatively, you can open an issue :)\r\n\r\n## License\r\n\r\nLicensed under the MIT License - see the [LICENSE file](https://github.com/k9mil/statum/blob/master/LICENSE) for more details.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk9mil%2Fstatum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fk9mil%2Fstatum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fk9mil%2Fstatum/lists"}