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 startThe server will start on port 3000 by default.
GET http://localhost:3000/playersExample 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/:nameExample:
GET http://localhost:3000/players/henryGET http://localhost:3000/resultsGET http://localhost:3000/results/:competitionExample:
GET http://localhost:3000/results/premier leagueGET http://localhost:3000/generalGET http://localhost:3000/seasonsfullName: 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.