Skip to content

artux-net/pdanetwork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

16 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Stalker PDA Network Backend

Deploy dev DB Backup Test Version Google Play Downloads

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.

๐ŸŽฏ About

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.

โœจ Features

For Stalkers

  • ๐Ÿ—จ๏ธ 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

Technical Features

  • 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

๐ŸŒ API Documentation & Services

Development Environment

Production Environment

  • Access Requirements: Registration required with TESTER role or higher for Swagger UI and Grafana
  • User Management Panel: https://app.artux.net/panel

๐ŸŽฎ Quest Management

Quest management is handled through the web console at https://story.artux.net/ (use DEV environment credentials).

๐Ÿš€ Getting Started

Prerequisites

  • Java 17 or higher
  • PostgreSQL database
  • Docker (optional, for containerized deployment)

๐Ÿ“ฑ Mobile Application

Download the official Stalker PDA application:

๐Ÿ› ๏ธ Development Environment

Local Setup

  1. Start the database: Run PostgreSQL using Docker Compose

    cd pdanet
    docker-compose up -d
  2. Run the application: Start the Spring Boot application

    ./gradlew :pdanet:bootRun

    Or run directly from your IDE using the main class: PDANetworkApplication.main()

Building

# Build all modules
./gradlew build

# Run tests
./gradlew test

# Generate test coverage report
./gradlew jacocoTestReport

๐Ÿ“‹ Semantic Versioning

This project uses automatic semantic versioning. After each successful deployment, a new tag is created in the format v1.2.3.

Version Management

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]

Examples:

git commit -m "fix: fix login error"                    # โ†’ PATCH
git commit -m "feat: add new feature"                   # โ†’ MINOR  
git commit -m "feat!: critical API changes"             # โ†’ MAJOR

Tags are created after production deployment or when pushing to the main branch.

๐Ÿ—๏ธ Architecture

This project consists of two main modules:

  • pdanet: Main Spring Boot application with REST API, WebSocket support, and business logic
  • pdanet-model: Shared data models and enums used across the application

Technology Stack

  • 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

๐Ÿค Contributing

We welcome contributions from the Stalker community! Here's how you can help:

Ways to Contribute

  • ๐Ÿ› 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

Development Guidelines

  1. Fork the repository and create a feature branch
  2. Follow coding standards: We use Detekt for Kotlin code quality
  3. Write tests: Ensure your code is well-tested
  4. Update documentation: Keep the docs in sync with your changes
  5. Submit a pull request with a clear description of your changes

Code Style

  • Use meaningful commit messages following Conventional Commits
  • Follow Kotlin coding conventions
  • Ensure all tests pass before submitting PR
  • Run ./gradlew detekt to check code quality

๐Ÿ“ž Contact & Support

Community

Development Team

  • Artux Team: Contact us through our website
  • Issues: Use GitHub Issues for bug reports and feature requests
  • Email: maxim@artux.net

๐Ÿ’– Support the Project

Help us continue developing and maintaining this Zone experience:

Donate

Or if you prefer cryptocurrency: USDT (TRC20): TEQGHBP6rRJHHFiMBxZZ3ZUGrBCBWcAYnz

Your support helps us:

  • ๐Ÿ–ฅ๏ธ Maintain and improve servers
  • ๐ŸŽฎ Add new quest content and features
  • ๐Ÿ› Fix bugs and improve performance
  • ๐Ÿ“ฑ Develop new features

๐Ÿ“„ License

This project is licensed under [License Name] - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • 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

๐Ÿ—บ๏ธ Zone Map

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! ๐ŸŽฏ

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Contributors