{"id":19061195,"url":"https://github.com/sebsto/tictactoe-dynamodb","last_synced_at":"2025-10-04T13:34:34.839Z","repository":{"id":68585015,"uuid":"374318447","full_name":"sebsto/tictactoe-dynamodb","owner":"sebsto","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-22T16:42:48.000Z","size":297,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-24T07:04:20.569Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sebsto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null}},"created_at":"2021-06-06T09:25:37.000Z","updated_at":"2025-01-18T18:00:48.000Z","dependencies_parsed_at":"2025-04-24T07:04:21.859Z","dependency_job_id":"9a8a5855-dff9-4c6e-9680-eeaaab6b75d0","html_url":"https://github.com/sebsto/tictactoe-dynamodb","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/sebsto/tictactoe-dynamodb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebsto%2Ftictactoe-dynamodb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebsto%2Ftictactoe-dynamodb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebsto%2Ftictactoe-dynamodb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebsto%2Ftictactoe-dynamodb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sebsto","download_url":"https://codeload.github.com/sebsto/tictactoe-dynamodb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sebsto%2Ftictactoe-dynamodb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278322160,"owners_count":25967871,"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","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"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-09T00:18:24.032Z","updated_at":"2025-10-04T13:34:34.812Z","avatar_url":"https://github.com/sebsto.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tic Tac Toe on DynamoDB\n\nThis is a modernized version of the original [Tic Tac Toe DynamoDB](https://github.com/amazon-archives/dynamodb-tictactoe-example-app) demo app. \n\nThis version runs on Python 3 and uses Boto 3 to access DynamoDB.\n\nOriginal README.md is below\n\n---- \n\nTicTacToe is a lightweight application that runs on Python and depends on two packages, Flask(0.9) and Boto(2.27).  If you want in depth information about the application and DynamoDB check out [Tic Tac Toe on DynamoDB](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ExampleApps.html).\n\nBelow are instructions that will help you launch the application.\nThese instructions will also require you to have access to a terminal.\n\n**Note: May need administrative privileges for these installations**\n\n## Installing Python\n\nDownload Python (use v2.7) by following the instructions on https://www.python.org/download/\n\n## Installing Flask and Boto (Choose one of the two options):\n    \nDownload/install pip *(Follow the instructions here http://pip.readthedocs.org/en/latest/installing.html)*\n\n   Once you have pip up to date and installed, run these commands.\n\n        pip install Flask\n        pip install boto\n\n* * *\nAlternatively, clone the two packages from git and running the setup scripts.\n\n   *Flask:*\n   \n        git clone http://github.com/mitsuhiko/flask.git\n        cd flask\n        python setup.py develop    \n\n   *Boto:*\n   \n        git clone git://github.com/boto/boto.git\n        cd boto\n        python setup.py install\n\n   **Note: If you don't have the Git CLI tools yet, there is a section Installing Git below.**\n\n## Configuring Tic Tac Toe\nOnce you have these dependencies set up, you will have to run the application with your own configurations.\n\nThe full list of options is as follows:\n\n      python application.py [-h] [--config pathToConfig] [--mode (local | service)]\n                            [--endpoint ENDPOINT] [--serverPort flaskPort]\n\nAdditionally you can set your ENVIRONMENT VARIABLES: **AWS_ACCESS_KEY_ID** and **AWS_SECRET_ACCESS_KEY** instead of using config file.\nThis way, you can just run the following command and start the webserver on the default port 5000 and call DynamoDB in the SDK's default region.\n\n      python application.py\n\nYour config file will vary depending, but the general structure is as follows:\n\n* Use the **[dynamodb]** tag to specify all dynamodb specific configurations (i.e. endpoint, region, port).  For more information about regions and endpoints, check out [Regions and Endpoints](http://docs.aws.amazon.com/general/latest/gr/rande.html#ddb_region).\n\n* Use the **[flask]** tag to specify all flask specific configurations (i.e. serverPort, secret_key).\n\n**Note: Secret_key is generated on start up in the app, but will be used when you spawn the Tic Tac Toe application on multiple instances and want to encrypt cookies with the same key.**\n\n## Launching TicTacToe onto ElasticBeanstalk (EB)\n\nIn order to launch this project onto an ElasticBeanstalk instance you'll need two more tools, Git and EB.\n\nBelow are instructions that will help you launch your project onto EB.\n\n### Installing Git\n[Download the Git CLI](http://git-scm.com/)\n\nOnce you have git installed, make sure you are inside the application's root directory. Initialize your local Git repository using\n\n        git init .\n\n### Installing EB\n[Download the Elastic Beanstalk CLI](http://aws.amazon.com/code/6752709412171743) \n\nInitialize your EB instance using\n\n        eb init\n\nSetting up your IAM User/Role\n    In your AWS console, go to the service called IAM. For the sake of this application, you need to configure Users and Roles.  You start off by creating a new User (an alias for your account) and follow the steps for generating access keys (if you haven't already).  You can then manage the permissions on this User, and using either the templates or custom permissions, ensure your user has permissions to ElasticBeanstalk and DynamoDB.  Afterwards go to the Role you init your EB instance with (if you haven't init'ed yet create a new Role here) and manage permissions once again, ensuring access DynamoDB is allowed.\n\nOnce your instance is setup and linked with your AWS account, run\n\n    eb start\n\n    eb status --verbose\n    \n**Note: You may have to run eb status multiple times to verify your application has Status Green, which means it's available.**\n\nFollow the URL given to you by 'eb status' and you should be good to go!\n\n**Note: [Full instructions for launching Flask on EB](http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python_flask.html)**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebsto%2Ftictactoe-dynamodb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsebsto%2Ftictactoe-dynamodb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebsto%2Ftictactoe-dynamodb/lists"}