94 lines
2.0 KiB
Markdown
94 lines
2.0 KiB
Markdown
# 2026 Goals Tracker
|
|
|
|
An Angular Universal application to track your 2026 sport and gaming goals.
|
|
|
|
## Features
|
|
|
|
- **Sport Goals**: Track biking (7,500km), running (2,500km), and swimming (250km) via Strava API
|
|
- **Gaming Goals**: Monitor progress toward Diamond rank in TFT/LoL, Champion in Rocket League, and Level 10 in Faceit
|
|
- **Progress Visualization**: Charts and progress bars showing your progress over time
|
|
- **On-Track Analysis**: See if you're on track to meet your goals by the end of 2026
|
|
|
|
## Setup
|
|
|
|
1. Install dependencies:
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
2. Configure environment variables in `src/environments/environment.ts`:
|
|
- Strava: Client ID, Client Secret, Redirect URI
|
|
- Riot Games: API Key, Region, Summoner Names
|
|
- Faceit: API Key, User ID
|
|
- Tracker.gg: API Key, Rocket League Platform/Username
|
|
|
|
3. Run development server:
|
|
```bash
|
|
npm start
|
|
```
|
|
|
|
4. Build for production:
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
5. Run SSR server:
|
|
```bash
|
|
npm run serve:ssr
|
|
```
|
|
|
|
## API Setup
|
|
|
|
### Strava
|
|
1. Go to https://www.strava.com/settings/api
|
|
2. Create a new application
|
|
3. Set redirect URI to `http://localhost:4200/auth/strava/callback`
|
|
4. Copy Client ID and Client Secret
|
|
|
|
### Riot Games
|
|
1. Go to https://developer.riotgames.com/
|
|
2. Create an account and get an API key
|
|
3. Note your region (e.g., `euw1`, `na1`)
|
|
4. Provide your summoner names for LoL and TFT
|
|
|
|
### Faceit
|
|
1. Go to https://developers.faceit.com/
|
|
2. Create an API key
|
|
3. Provide your Faceit user ID
|
|
|
|
### Tracker.gg
|
|
1. Check https://tracker.gg/developers/docs for API access
|
|
2. Get API key if available
|
|
3. Provide your Rocket League platform and username
|
|
|
|
## Project Structure
|
|
|
|
- `src/app/core/` - Services, models, and interceptors
|
|
- `src/app/features/` - Feature components (dashboard, sport, gaming)
|
|
- `src/app/shared/` - Shared components and utilities
|
|
- `src/environments/` - Environment configuration
|
|
|
|
## Technologies
|
|
|
|
- Angular 19 with Universal SSR
|
|
- Tailwind CSS for styling
|
|
- Chart.js with ng2-charts for visualizations
|
|
- RxJS for reactive programming
|
|
- TypeScript with strict mode
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|