{"id":20126724,"url":"https://github.com/cc-d/tech-submission-api","last_synced_at":"2026-06-08T17:31:57.955Z","repository":{"id":97847327,"uuid":"476942850","full_name":"cc-d/tech-submission-api","owner":"cc-d","description":null,"archived":false,"fork":false,"pushed_at":"2022-04-04T20:33:25.000Z","size":16,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-02T21:17:30.237Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cc-d.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":"2022-04-02T04:04:14.000Z","updated_at":"2022-04-02T04:05:52.000Z","dependencies_parsed_at":"2023-03-15T17:00:26.627Z","dependency_job_id":null,"html_url":"https://github.com/cc-d/tech-submission-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cc-d/tech-submission-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cc-d%2Ftech-submission-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cc-d%2Ftech-submission-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cc-d%2Ftech-submission-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cc-d%2Ftech-submission-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cc-d","download_url":"https://codeload.github.com/cc-d/tech-submission-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cc-d%2Ftech-submission-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34073737,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-13T20:17:23.646Z","updated_at":"2026-06-08T17:31:57.935Z","avatar_url":"https://github.com/cc-d.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Preface:\r\n\r\nA LOT of things do not handle edge cases, return everything I'd like to return, etcetcetc. I've tried to remember and comment in places where I only did something in a specific way to save time, but would never do such a thing in an actual app, but there may have been a few things I missed (including .gitignore, file structures, and so on). I'll include an example database with already registered users in the uploaded directory, but any data included in the sqlite3\r\n\r\n___\r\n\r\nRequirements:\r\n\r\nsqlite 3\r\non ubuntu 20 \"apt-get install sqlite\"\r\n\r\npython 3\r\non ubuntu 20 \"apt-get install python3\"\r\n\r\npip\r\non ubuntu 20 \"apt-get install python3-pip\"\r\n\r\nuvicorn\r\non ubuntu 20 \"apt-get install uvicorn\"\r\n\r\nall flask/python requirements\r\non ubuntu 20 \"pip3 install -r requirements.txt\"\r\n\r\n\r\n____\r\n\r\nTo use:\r\n\r\nstart w/ uvicorn in root directory\r\nuvicorn run:app --host 0.0.0.0 --port 8000\r\n\r\nnavigate to: http://[YOUR IP HERE]:8000/\r\n____\r\n\r\nEndpoints:\r\n\r\nRegister a new user: GET http://168.235.89.157:8000/register?username=USERNAME\u0026password=PASSWORD (IN A REAL APP I WOULD __NOT__ HAVE THE PASSWORD IN A QUERY STRING)\r\nExample: http://168.235.89.157:8000/register?username=a\u0026password=a\r\n\r\nResponse:\r\n\r\n```\r\n{\"success\":\"ok\"}\r\n```\r\n-\r\n\r\nAdd new contact: GET http://168.235.89.157:8000/add_contact\r\nParameters: username, first name, last name, numbers (JSON string), city, state, zip code\r\n\r\nExample:\r\nContact Numbers: {'mobile':['1234', '5678'], 'home:['1111']}\r\n\r\nExample URL:\r\nhttp://168.235.89.157:8000/add_contact?user=a\u0026numbers={%27mobile%27:[%27555-0000%27,%27555-0001],%27home%27:[%27555-1111%27]}\u0026first=fname\u0026last=lname\u0026city=c\u0026state=tn\u0026zip_code=12345\r\n\r\nResponse:\r\n\r\n```\r\n{\"success\":\"ok\"}\r\n```\r\n\r\n-\r\n\r\nGet a user token: POST http://168.235.89.157:8000/token\r\n\r\nResponse:\r\n\r\n```{\r\n    \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhIiwiZXhwIjoxNjQ5MTA1MDg4fQ.mkOGeo1xdkZEGTxbhk-VrZRyjK724xqW6RxtiykEjhQ\",\r\n    \"token_type\": \"bearer\"\r\n}```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcc-d%2Ftech-submission-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcc-d%2Ftech-submission-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcc-d%2Ftech-submission-api/lists"}