https://golfygolf.herokuapp.com/
This is a full-stack Node.js app that provides a programmatic solution for a group of friends to run a golf pool. The key functionality includes:
- a participant can select 5 golfers, from different brackets, for their team at the beginning of the season.
- a participant can view a leaderboard showing the cumulative earnings of all the teams during the season.
- an administrator can add and delete participants.
The main challenges of this project, and the solutions used, were as follows:
- calculation of each team's earnings for the leaderboard: sequelize and javascript were used
- relationships between participants, players, earnings and tournaments: sequelize associations were used in a database.
- response routing: the server is designed to handle GET, POST, and DELETE requests using the Express.js framework.
There are 5 main areas of note:
- It uses an API, MySQL and Sequelize to create a number of tables table in the database for the required functionality
- It uses Express.js, the most widely used Node.js server framework, to build a server on the back end
- It uses the Path package to get the correct file path for HTML requests.
- It uses the jQuery library including click events and DOM manipulation
- Heroku is configured for deployment of the application
Proper authentication procedures still need to be added, but an existing user will be taken directly to the leaderboard. A new user will be taken to the player picks section. Upon submission of the picks, they will then be taken to the leaderboard.
Express.js jQuery Official Website Sequelize Queries
This is an original app developed by Ross McLane, Alexis Tanner, Jonathan Johnson and Graeme Stewart for a project as part of Georgia Tech's Full Stack Coding Boot Camp (Oct 2019 to Jan 2020).