Duration: 2 week sprint
Introducing the WHS Golf Calculator. Golf Handi-Calc revolutionizes your golfing experience by effortlessly managing your scorecards and seamlessly calculating your handicap index and updating local course handicaps specifically for you, using the World Handicap System. Picture this: You complete a round, input your score, and voilà your handicap index is auto-calculated and saved.
When 5 friends and I started golfing in 2022, we had no idea what a handicap index was. One day a gentleman asked us what our handicap was so we said “no idea but we should probably figure that out”. Fast forward a year later, we still didn’t have our handicap index because looking into it, it looked like a lot of work and a lot of calculations.
My solution was to create an app that a user can input their scores, and after scores are inputted it will calculate the handicap index. Going by the World Handicap System regulations, a user can use the best 8 rounds out of the last 20, to calculate their handicap. If a new round played is better than any of the current rounds being used to calculate, it will automatically update their handicap index. The app will display a users course handicap for every course they have added.
- This is the login page
- The home page gives quick data and buttons to add a round or add a course
- The courses page shows all courses added by user and admin. The user added courses can be edited and deleted
- Example of editing a course
- The rounds page shows every round a user has added. They can be edited or deleted
- Adding a round example
- Editing a round example
- The about page explains using the app and how the calculations work
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
- Create a PostgreSQL database named
golf_handi_calc
- Use the
database.sql
file to create table - Open the project in code editor of your choice and run
npm install
in the terminal - Run
npm run server
in the terminal - Open another terminal and run
npm run client
in the terminal
- Javascript - Core Language
- CSS - CSS styling
- HTML - HTML5
- Express.js - RESTful API Web App Framework
- Passport.js - Authentication
- bcrypt.js - Password Hashing and Salting
- React - User interface with components
- React Redux - Read store data and dispatch actions to update state
- React Sagas/Routers - Redux side effect manager
- Material_UI - React UI tools
- PostgreSQL - Relational Database System
- Postico2 - Local Database
- Postman - For testing APIs
- SweetAlert2 - Customized Popup Boxes
- Fuse.js - Fuzzy search library
- Node.js - runtime enviroment
- Axios - HTTP client
- Kenny Ferguson - Initial work - kennyfergy
This project is licensed under the MIT License - see the LICENSE.md file for details
- Thanks to Emerging Digital Academy for the skills and education.
- Thanks to fellow cohort members for tips and advice.