A RESTful API that provides comprehensive data about Arsenal Football Club's legendary 2003-04 "Invincibles" Premier League team. The API returns detailed information about game results, player statistics, and club information in JSON format.
Note: This project was originally created 5 years ago and has been recently updated with improved data validation, consistent field naming, and better error handling.
- Complete player statistics for the Invincibles squad
- All 38 Premier League games from the unbeaten season
- Detailed team and season information
- Proper data validation and error handling
- RESTful endpoints with consistent response format
- Open a PR
- Node.js (v14 or higher)
- MongoDB (v4.4 or higher)
- npm (v6 or higher)
- Clone the repository:
git clone https://github.com/yourusername/Arsenal-Fc-API.git
cd Arsenal-Fc-API
- Install dependencies:
npm install
- Start MongoDB service:
mongod
- Start the server:
npm start
The server will start on port 3000 by default.
GET http://localhost:3000/players
Example response:
{
"status": 200,
"message": "Success",
"data": {
"playersCount": 11,
"players": [
{
"fullName": "Thierry Daniel Henry",
"popularName": "Henry",
"nationality": "French",
"age": 25,
"position": "Striker",
"goals": 30,
"assists": 7
// ... other player details
}
]
}
}
GET http://localhost:3000/players/:name
Example:
GET http://localhost:3000/players/henry
GET http://localhost:3000/results
GET http://localhost:3000/results/:competition
Example:
GET http://localhost:3000/results/premier league
GET http://localhost:3000/general
GET http://localhost:3000/seasons
fullName
: Player's full namepopularName
: Player's commonly used namenationality
: Player's nationalityage
: Player's age during the 2003-04 seasondateOfBirth
: Player's date of birth (MM/DD/YYYY)height
: Player's height in cmweight
: Player's weight in kgjerseyNumber
: Player's squad numberposition
: Player's positiongoals
: Number of goals scoredassists
: Number of assistspenalties
: Number of penalties scoredclearances
: Number of clearancesrecoveries
: Number of ball recoveries
title
: Match titlecompetition
: Competition nameopponent
: Opposing teamdate
: Match datearsenalGoals
: Goals scored by ArsenaloppositionGoals
: Goals scored by opponenttopScorer
: Arsenal's top scorerwinOrLoss
: Match result (Win/Draw/Loss)leagueStatus
: League position and record
- Fixed inconsistent field naming (e.g.,
Goals
→goals
) - Added proper date format validation
- Standardized player positions
- Improved error handling
- Added data validation for all fields
- Fixed duplicate player entries
- Updated player statistics accuracy
Nandu Pokhrel
This project is licensed under the MIT License.