{"id":21722604,"url":"https://github.com/tadghw/psychic-winner","last_synced_at":"2026-05-17T22:34:17.103Z","repository":{"id":158098624,"uuid":"591690582","full_name":"TadghW/psychic-winner","owner":"TadghW","description":"RESTful API built in Python and Flask with test coverage and HTML form support.","archived":false,"fork":false,"pushed_at":"2023-02-02T15:57:55.000Z","size":11111,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-25T19:07:44.905Z","etag":null,"topics":["flask","python","rest-api","sqlite3"],"latest_commit_sha":null,"homepage":"","language":"Python","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/TadghW.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":"2023-01-21T14:58:42.000Z","updated_at":"2024-02-23T15:56:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"0573abc7-1793-44e7-98bd-c8a25b7b09ef","html_url":"https://github.com/TadghW/psychic-winner","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/TadghW%2Fpsychic-winner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TadghW%2Fpsychic-winner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TadghW%2Fpsychic-winner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TadghW%2Fpsychic-winner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TadghW","download_url":"https://codeload.github.com/TadghW/psychic-winner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244700594,"owners_count":20495574,"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":["flask","python","rest-api","sqlite3"],"created_at":"2024-11-26T02:30:19.276Z","updated_at":"2026-05-17T22:34:12.045Z","avatar_url":"https://github.com/TadghW.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Coding Challenge Submission | Tadgh Wagstaff\n\n*Please notes see about this solution and instructions on how to run the software below*\n\n### Notes: \n\n1) I decided to use Python for this solution to compliment my Java-based REST API available [here](https://github.com/TadghW/pprRank). \n\n2) I was informed that the Python team use Flask, so I decided to work with Flask for this solution\n\n2) Although both teams use AWS I decided that using a remote db exceeded the scope of this assignment. Instead, I used a local database instance with SQLite 3, a combination suggested in the [Flask documentation](https://flask.palletsprojects.com/en/2.2.x/patterns/sqlite3/)\n\n3) Because the documentation states that the solution should be considered a proof of concept I haven't done performance testing or implemented query caching. I also haven't containerised or hosted the application. You can find a containerised and hosted example of [this project](https://github.com/TadghW/pprRank) [here](https://headphones.science)\n\n4) You can interface with the program directly by sending requests to the endpoints, or through a dashboard I made by visiting `localhost:5000` in your browser\n\n### How to run: \n\n_**Step 1 - Create virtual environment:**_ \n\nCreate a new folder at the root of this directory named ``env``, and then create a new virtual environment within that folder using [venv](https://docs.python.org/3/library/venv.html#module-venv) with the command ``python -m venv ./env``\n\n_**Step 2 - Enter virtual environment:**_ \n\nUsing a terminal / CLI navigate to ``env/Scripts`` (Windows) or ``env/bin`` (MacOS, Linux, Unix-based OS) and run `./activate` to enter the virtual environment \n\n_**Step 3 - Install requirements:**_ \n\nNavigate back to the root folder in the terminal and enter the command `pip install -r requirements.txt`\n\n_**Step 4 - Launch API + Integration Testing:**_ \n\nWhile inside the virtual environment you can launch the API from the terminal with `python app.py`. Once the API is running, you can run the accompanying integration tests from the terminal with `pytest test_integration_tests.py` (so long as you're in the virtual environment)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftadghw%2Fpsychic-winner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftadghw%2Fpsychic-winner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftadghw%2Fpsychic-winner/lists"}