Are you new to golf? Like me? I wanted to create a fun experience for us newbies, to keep us engaged while we struggle through the ridiculous, embarassing, downright depressing period known as being a 'beginner' in golf. You can keep track of your best score on a particular hole, on any par3 course in Seattle. If you are having a terrible round, and have no way of beating your all time score on a course, at least you can focus on getting that sweet, sweet par on hole 6.
For each par, birdie and a few other surprise achievements - you earn 10 Golf Coin, a fancy digital asset/cryptocurrency I created using the Stellar Blockchain. You can then turn around, and bet Golf Coin (GC) on 'skins' with your friends, which is a way of betting 'I will have the lowest score on hole 3' and adding some friendly (and captivating) competition to an otherwise normal day on the Par 3 course.
Start chipping away at https://seattlepar3.com
Want to contribute? Great!
To fix a bug or contribute a new feature, follow these steps:
- Fork the repo
- Run
yarn
to install the dependencies, once you havecd
'd into the directory - Run
yarn build
to create the next-generated pages - Run
yarn development
to start the dev server - Create a new branch (
git checkout -b improve-feature
) - Make the appropriate changes in the files
- Add Git changes to reflect the changes made
- Commit your changes (
git commit -m 'Improve feature'
) - Push to the branch
- Send a PR, and become a legend
If you find a bug, have a great idea or just a question - please open an issue here!
- React + TypeScript - It's a bit of a hybrid - lots of TS, with some JS components mixed in. Will be migrating everything to TS over time, making more detailed and thorough object models.
- Progressive Web Application - Better than investing time into a mobile application, I figure that having the offline functionality of a PWA will give us the right balance of features and accessibility. Right now, the PWA only installs on mobile - this is 100% intended to be used on phones, while on the links.
- Stellar Blockchain - In order to make Golf Coins, we turned to the blockchain. We needed an affordable (coughEthereum is expensivecough), scalable solution that would let us issue our own assets easily. Stellar fit the bill.
- AWS Lambda - We needed a service to store our Stellar and DynamoDB authentication/data storage, and wanted to avoid paying $10/mo for a container instance on a side-project that is only used by two people (as of 8.12.21, at least)
- DynamoDB - The 'correct' way of using a DynamoDB table, at least according to some ReInvent talks I watched, is to have multiple different storage options with the partition key? For example, as long as your partition key is a string, you can query events with a specific date ('6-12-2021'), or a specific type/brand (for example, 'Gucci') and return different types of items. All in all, this entire application is stored on a single DynamoDB table with multiple access patterns made available through a flexible partition/sort-key schema.
GNU General Public License Version 2 Only © Michael 'Misha' Litchev