Turn your smartphone into a real Stalker PDA!
This is the backend service for the Stalker PDA Network - a multifunctional Android application that transforms your smartphone into an authentic stalker's handheld computer from the post-apocalyptic Zone.
The Stalker PDA Network Backend is a monolithic Spring Boot application that powers the mobile PDA experience. It handles authentication, news aggregation, real-time chat, zone encyclopedia, player rankings, story quests, and interactive quest processing.
- ๐จ๏ธ Thematic Chat System: Communicate with other stalkers in faction chats, discuss Zone situations, engage in roleplay, exchange private messages, or create custom conversations
- ๐ฐ Post-Apocalyptic News: Stay updated with the latest news from Stalker, Metro, Survarium, Fallout, and other post-apocalyptic gaming projects
- ๐บ๏ธ Interactive Quests & Zone Map: Complete faction missions, trader tasks, and stalker assignments while exploring the dangerous Zone filled with mutants, anomalies, and hostile humans
- ๐ค Comprehensive Profile System: Build your inventory, track faction relationships, gain experience, and participate in stalker leaderboards
- ๐ Dynamic Notes: Create personal notes and receive automatic quest-related notifications during your Zone exploration
- RESTful API with comprehensive Swagger documentation
- Real-time WebSocket communication for chat and live updates
- Quest scripting engine with story progression tracking
- User management with role-based access control
- Faction reputation and relationship system
- News aggregation and content management
- Player statistics and ranking systems
- Access Requirements: Registration required with TESTER role or higher for Swagger UI and Grafana
- User Management Panel: https://app.artux.net/panel
Quest management is handled through the web console at https://story.artux.net/ (use DEV environment credentials).
- Java 17 or higher
- PostgreSQL database
- Docker (optional, for containerized deployment)
Download the official Stalker PDA application:
-
Start the database: Run PostgreSQL using Docker Compose
cd pdanet docker-compose up -d -
Run the application: Start the Spring Boot application
./gradlew :pdanet:bootRun
Or run directly from your IDE using the main class:
PDANetworkApplication.main()
# Build all modules
./gradlew build
# Run tests
./gradlew test
# Generate test coverage report
./gradlew jacocoTestReportThis project uses automatic semantic versioning. After each successful deployment, a new tag is created in the format v1.2.3.
Automatic versioning by commits:
- PATCH (v1.0.1): Regular commits, bug fixes
- MINOR (v1.1.0): Commits with
feat:,feature:,[minor] - MAJOR (v2.0.0): Commits with
BREAKING CHANGE,!:,[major]
git commit -m "fix: fix login error" # โ PATCH
git commit -m "feat: add new feature" # โ MINOR
git commit -m "feat!: critical API changes" # โ MAJORTags are created after production deployment or when pushing to the main branch.
This project consists of two main modules:
pdanet: Main Spring Boot application with REST API, WebSocket support, and business logicpdanet-model: Shared data models and enums used across the application
- Backend: Spring Boot 3.1.4, Kotlin, Java
- Database: PostgreSQL with Liquibase migrations
- Security: Spring Security with role-based access control
- API Documentation: SpringDoc OpenAPI 3 (Swagger)
- Monitoring: Micrometer with Prometheus metrics
- Testing: JUnit 5, TestContainers
- Build: Gradle with Kotlin DSL
We welcome contributions from the Stalker community! Here's how you can help:
- ๐ Bug Reports: Found a bug? Open an issue with detailed reproduction steps
- โจ Feature Requests: Have an idea for new Zone features? Let us know!
- ๐ง Code Contributions: Submit pull requests for bug fixes or new features
- ๐ Documentation: Help improve our documentation and guides
- ๐ Localization: Help translate the application to other languages
- Fork the repository and create a feature branch
- Follow coding standards: We use Detekt for Kotlin code quality
- Write tests: Ensure your code is well-tested
- Update documentation: Keep the docs in sync with your changes
- Submit a pull request with a clear description of your changes
- Use meaningful commit messages following Conventional Commits
- Follow Kotlin coding conventions
- Ensure all tests pass before submitting PR
- Run
./gradlew detektto check code quality
- ๐ฑ Telegram News: PDA Stalkers News - Stay updated with the latest Zone news
- ๐ฌ Telegram Chat: PDA Stalker Chat - Development discussions and community chat
- ๐ Reddit: r/stalker
- Artux Team: Contact us through our website
- Issues: Use GitHub Issues for bug reports and feature requests
- Email: maxim@artux.net
Help us continue developing and maintaining this Zone experience:
Your support helps us:
- ๐ฅ๏ธ Maintain and improve servers
- ๐ฎ Add new quest content and features
- ๐ Fix bugs and improve performance
- ๐ฑ Develop new features
This project is licensed under [License Name] - see the LICENSE file for details.
- GSC Game World - for creating the Stalker universe
- The Stalker Community - for inspiration and feedback
- Contributors - everyone who has contributed to this project
- Beta Testers - stalkers who helped test and improve the application
Project Structure:
โโ pdanetwork/
โ โโ pdanet/ # Main Spring Boot application
โ โ โโ src/main/java/ # Application source code
โ โ โโ src/main/resources/ # Configuration and static files
โ โ โโ src/test/ # Test cases
โ โโ pdanet-model/ # Shared data models
โ โโ docker/ # Docker configurations
โ โโ .github/workflows/ # CI/CD workflows
Good hunting, stalker! ๐ฏ