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.