Skip to content

Exudev/sinister-six

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sinister Six 🕷️

A universal Pokemon team builder that works across all generations and games. Build your ultimate team of six Pokemon with comprehensive type coverage analysis, stat comparisons, and generation-specific mechanics.

Features

  • 🎮 Universal Compatibility: Works with all Pokemon games (Gen 1-9)
  • 🔍 Smart Search: Find Pokemon by name, type, or generation
  • 📊 Type Coverage: Real-time analysis of team weaknesses and resistances
  • 📈 Stat Comparison: Compare base stats across your team
  • Generation Mechanics: Support for Mega Evolution, Z-Moves, Dynamax, Terastallization
  • 💾 Team Management: Save and share your teams

Tech Stack

Frontend

  • Angular 17+: Modern web framework
  • TypeScript: Type-safe development
  • SCSS: Styled components
  • RxJS: Reactive programming

Backend

  • FastAPI: High-performance Python API
  • PokeAPI: Pokemon data source
  • Pydantic: Data validation
  • httpx: Async HTTP client

Project Structure

sinister-six/
├── client/          # Angular frontend application
├── server/          # FastAPI backend
├── shared/          # Shared TypeScript types
├── docs/            # Documentation
└── README.md

Getting Started

Prerequisites

  • Node.js 18+ and npm
  • Python 3.11+
  • Angular CLI (npm install -g @angular/cli)

Backend Setup

  1. Navigate to server directory:
cd server
  1. Create and activate virtual environment:
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Create .env file:
cp .env.example .env
  1. Run the server:
python main.py
# Or with uvicorn:
uvicorn main:app --reload

The API will be available at http://localhost:8000

API Documentation: http://localhost:8000/docs

Frontend Setup

  1. Navigate to client directory:
cd client
  1. Install dependencies:
npm install
  1. Run the development server:
ng serve

The app will be available at http://localhost:4200

API Endpoints

  • GET / - API information
  • GET /api/health - Health check
  • GET /api/pokemon - List Pokemon (with pagination)
  • GET /api/pokemon/{id} - Get specific Pokemon
  • GET /api/generations - List all generations
  • GET /api/types - List all Pokemon types

Contributing

This is a personal project, but suggestions and feedback are welcome!

License

MIT License - feel free to use this for learning or personal projects.

Acknowledgments

  • PokeAPI for comprehensive Pokemon data
  • Inspired by Pokemon Showdown and other team builders
  • Named after the iconic Spider-Man villain team

Built with ❤️ for Pokemon trainers everywhere

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published