This project is currently in Beta and is deployed to https://dynasty-daddy.com.
Dynasty Daddy is a webapp that integrates with fantasy platform apis and scrapes KeepTradeCut's player evaluations to create metrics on each owner's fantasy league.
The goal is to provide users with a frictionless way to see player value, team value, draft breakdowns, and more. When managing my teams I would constantly have to switch between multiple websites to figure out what moves I should make. I wanted to find a way to spend less time doing research and leverage the data in more ways than before. Thus Dynasty Daddy was born to help me beat my friends in fantasy easier!
Dynasty Daddy's front end is an angular 11 web application with an node express api connected to a postgres database. This database is populated using a python cron job that scrapes KeepTradeCut's player rankings once a day (since KeepTradeCut currently doesn't have a public api). For Sleeper & MFL's data, we use their public apis found in their documentation.
Requirements:
- npm
- Node
- Postgres
First, clone repo and open up in your preferred IDE.
- Run scripts in
/back-end/database/scripts
directory to create database and insert data.
- Navigate to the front end project directory
/front-end/fantasy-app/
- Run
npm install
andnpm run start
and the front end should spin up.
- Navigate to the project directory
/back-end/express-api
- Copy the
.env.example
file renaming it to just.env
. Then update theCONNECTION_STRING
to point to the local db containing the data. - Now, run
npm install
andnpm run start
and the api should spin up.
- Support other platforms like Yahoo, Fleaflicker, etc.
- Machine learning on data to predict the best players to buy and sell.
- Better draft predictor based on team needs
- More team analytics
- Better responsive/mobile experience
- More value calculations (Dynasty Process, Fantasy Calc)
- ng2-charts - chart.js with angular 11
- Angular mat - for tables, and other styling components
- javascript-color-gradient - color gradients
- simple-statistics - statistics and probability calculations
- angular2-query-builder - query builder for player comparison advanced search
- ngx-device-detector - detects if using mobile device, tablet, or desktop
- ngx-mat-select-search - custom mat select search box with dropdown
- ngx-google-analytics - used to track user metadata and build reports on features
- ng2-adsense - used to add google ads to the application to help pay server cost :)
- CI/CD using Github Actions to build and push images to docker hub when a PR to main is created.
- The project is deployed on a DigitalOcean Ubuntu Droplet and uses docker compose to spin up images.
- Watchtower monitors changes to Docker Hub and pulls new images every 30 seconds and redeploys them.
Jeremy Timperio - Creator, Full Stack Developer