This project is currently in Beta and is deployed to https://dynasty-daddy.com.
Dynasty Daddy is a web app that integrates with fantasy platform APIs and scrapes fantasy market (KeepTradeCut, FantasyCalc, DynastyProcess, DynastySuperflex) player evaluations to create metrics on each owner's fantasy league (Sleeper, MFL, Fleaflicker, ESPN, FFPC).
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 constantly had to switch between multiple websites to figure out what moves I should make. I wanted to find a way to spend less time researching 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 14 web application with a node express API connected to a Postgres database. This database is populated using a Python cron job that scrapes fantasy trade values & player rankings once a day. For the fantasy platform's data, we use their public APIs found in their documentation.
Requirements:
- npm
- Node
- Postgres
First, you can clone the repo and open it up in your preferred IDE.
- Run scripts in the
/back-end/database/scripts
directory to create a 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, NFL, 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 Fantasy Markets
- 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 a mobile device, tablet, or desktop
- ngx-mat-select-search - custom mat select search box with a dropdown
- ngx-google-analytics - used to track user metadata and build reports on features
- @thouet/material-carousel - responsive carousels for ads
- 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