@app.route('/api/top-goal-scorers', methods=['GET']) def get_top_scorers(): min_goals = request.args.get('min_goals', default=0, type=int) filtered = [s for s in bundesliga_goals if s['goals'] >= min_goals] filtered.sort(key=lambda x: x['goals'], reverse=True) return jsonify(filtered)
Goal: Display, sort, and visualize the top goal-scoring seasons in Bundesliga history, with filtering by player, season, or club. 📊 Dataset (Top 20 Seasons) | Rank | Player | Season | Club | Goals | Games | Ratio | |------|--------|--------|------|-------|-------|-------| | 1 | Robert Lewandowski | 2020–21 | Bayern Munich | 41 | 29 | 1.41 | | 2 | Gerd Müller | 1971–72 | Bayern Munich | 40 | 34 | 1.18 | | 3 | Robert Lewandowski | 2019–20 | Bayern Munich | 34 | 31 | 1.10 | | 4 | Gerd Müller | 1969–70 | Bayern Munich | 38 | 33 | 1.15 | | 5 | Gerd Müller | 1972–73 | Bayern Munich | 36 | 33 | 1.09 | | 6 | Dieter Müller | 1976–77 | 1. FC Köln | 34 | 34 | 1.00 | | 7 | Ailton | 2003–04 | Werder Bremen | 28 | 33 | 0.85 | | 8 | Mario Gomez | 2010–11 | Bayern Munich | 28 | 32 | 0.88 | | 9 | Pierre-Emerick Aubameyang | 2016–17 | Dortmund | 31 | 32 | 0.97 | | 10 | Robert Lewandowski | 2017–18 | Bayern Munich | 29 | 30 | 0.97 | Full list extends to 30+ seasons. Only top 10 shown here for brevity. 🧩 Backend Logic (Python/Flask example) from flask import Flask, jsonify, request app = Flask( name ) In-memory dataset bundesliga_goals = [ "player": "Robert Lewandowski", "season": "2020–21", "club": "Bayern Munich", "goals": 41, "games": 29, "player": "Gerd Müller", "season": "1971–72", "club": "Bayern Munich", "goals": 40, "games": 34, # ... add more ] most goals scored in bundesliga season
useEffect(() => fetch( /api/top-goal-scorers?min_goals=$filter ) .then(res => res.json()) .then(setData); , [filter]); Only top 10 shown here for brevity
const chartData = labels: data.map(item => $item.player ($item.season) ), datasets: [ label: 'Goals', data: data.map(item => item.goals), backgroundColor: 'rgba(75, 192, 192, 0.6)', ] ; "club": "Bayern Munich"
@app.route('/api/player/<name>', methods=['GET']) def get_player_seasons(name): return jsonify([s for s in bundesliga_goals if s['player'].lower() == name.lower()]) import React, useEffect, useState from 'react'; import Bar from 'react-chartjs-2'; const BundesligaGoalsLeaderboard = () => const [data, setData] = useState([]); const [filter, setFilter] = useState(0);
return ( <div> <h1>🏆 Most Goals in a Bundesliga Season</h1> <label>Minimum goals: <input type="number" value=filter onChange=e => setFilter(e.target.value) /> </label> <Bar data=chartData /> <table border="1" cellPadding="8"> <thead><tr><th>Rank</th><th>Player</th><th>Season</th><th>Club</th><th>Goals</th><th>Games</th><th>Ratio</th></tr></thead> <tbody> data.map((item, idx) => ( <tr key=idx> <td>idx + 1</td> <td>item.player</td> <td>item.season</td> <td>item.club</td> <td>item.goals</td> <td>item.games</td> <td>(item.goals / item.games).toFixed(2)</td> </tr> )) </tbody> </table> </div> ); ;

Want to start waddling around and create new friends? Make sure to create a Penguin and log in to start your adventure!
Explore
Learn all about what our snowy island has to offer in this section designed specifically for parents and other Penguins.
For Parents
View the latest blog posts, upcoming events, submit fan art, get the latest coloring pages and recipes.
Visit Page
Feeling lost, or need help with your Penguin? You can find answers to the most frequently asked questions here.
Get HelpClub Penguin™ is a registered trademark of Disney Online Studios Canada, Inc. We are not affiliated with the Walt Disney Company and/or the Disney Interactive Experience
CPLegacy.com is a non-profit, completely free-to-play, with no subscriptions, donations, or any means of generating revenue
Original audiovisual assets are used for archival purposes only. ® 2025 Non-Graphical Content Club Penguin Legacy, All Rights Reserved.
Welcome to our snowy island! Please read before continuing.
Club Penguin Legacy is an independent remake of Disney's Club Penguin, it's a completely free-to-play experience, with no form of subscriptions, donations, or other means of generating revenue.
Club Penguin Legacy is not affiliated with the Walt Disney Company and the Disney Interactive Media Group. By using this site, you hereby release Disney, along with any of its employees or agents, from any and all accountability or harm, whether corporate or personal, arising from the use of Club Penguin Legacy, either by yourself or others.