A modern SOAP-based web service for managing football player statistics and awards. Built with Node.js and SQLite.
-
🔐 Secure Authentication
- JWT token-based authentication
- Role-based access control
- Token expiration and rotation
-
👥 Player Management
- Complete CRUD operations
- Bulk player creation
- Detailed player profiles
-
📊 Statistics & Awards
- Season-wise statistics tracking
- Player achievements and awards
- Historical data management
-
🛡️ Security & Performance
- HTTPS support
- Rate limiting
- Input validation
- Error handling
-
📚 Documentation
- Complete WSDL documentation
- API examples
- Comprehensive error guides
- Node.js (v14+)
- npm (v6+)
- SQLite3
- Clone & Install
# Clone repository
git clone https://github.com/yourusername/fifa-player-stats-soap.git
cd fifa-player-stats-soap
# Install dependencies
npm install- Configure
# Copy environment file
cp .env.example .env
# Edit .env with your settings
# Default values:
# HTTP_PORT=3000
# HTTPS_PORT=3001
# JWT_SECRET=your-secret-key-123- SSL Setup (Optional)
# Generate certificates
mkdir certs
cd certs
openssl req -nodes -new -x509 -keyout server.key -out server.cert- Run
# Development
npm run dev
# Production
npm startDefault admin credentials:
- Username:
admin - Password:
password123
Generate a token:
curl -X POST \
http://localhost:3000/soap/player \
-H 'Content-Type: text/xml' \
-d '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://example.com/player-service">
<soap:Body>
<tns:generateTokenRequest>
<username>admin</username>
<password>password123</password>
</tns:generateTokenRequest>
</soap:Body>
</soap:Envelope>'fifa-player-stats-soap/
├── src/
│ ├── services/ # SOAP service definitions
│ ├── middleware/ # Authentication & validation
│ ├── routes/ # API routes
│ └── db/ # Database setup & models
├── certs/ # SSL certificates
├── tests/ # Test suites
└── package.json
npm run dev # Start development server
npm start # Start production server
npm test # Run tests
npm run lint # Run linter- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Node.js SOAP library
- SQLite3
- JWT implementation
- Express.js framework
- generateToken - Generate authentication token
- createPlayer - Create a new player
- getPlayer - Get player details by ID
- listPlayers - List all players
- updatePlayer - Update player details
- deletePlayer - Delete a player
- updatePlayerStats - Update player statistics
- bulkCreatePlayers - Create multiple players at once
- deleteAllPlayerStats - Delete all data from the system (players, statistics, and awards)
deleteAllPlayerStats operation deletes ALL data from the system and cannot be undone. Use with caution.