Skip to content

GoncaloP0710/Honkai-Starbucks

Repository files navigation

plot plot plot plot

Important

The project is currently under active development. Features and functionalities are being added and refined. Please note that some parts of the project may not be fully functional or stable at this stage.

This project consists of several components for managing and simulating battles in the Honkai-StarBucks universe. It includes back-end servers for handling different functionalities and a front-end client built with Angular.

Honkai-StarBucks_MainServer - This is the entry point of the system. It acts as a central router that handles initial requests from the frontend and delegates them to the appropriate microservices. It helps decouple the frontend from direct dependencies on individual services, promoting scalability and maintainability.

Honkai-StarBucks_LoginServer - Responsible for handling user authentication and account-related operations, this service connects to a MongoDB database to store and manage login credentials.

Honkai-StarBucks_TrailBlazersServer - This microservice manages player data and team configurations. It connects to MongoDB to store detailed information about each user’s characters and their team setups. Additionally, it integrates with starrail.js to retrieve game-specific data. It supports features like creating and deleting teams...

Honkai-StarBucks_BattleServer - Currently under development, this microservice will encapsulate all battle-related logic. It will be responsible for processing combat mechanics, handling real-time battle scenarios, and ensuring fair and balanced gameplay outcomes. Once implemented, it will form the core gameplay loop of the application.

Important

Inter-service Communication: Microservices currently communicate using Axios for HTTP-based messaging. There are plans to upgrade to gRPC, which will provide faster, more efficient communication and better support for future scaling needs.


MongoDB is used as the database for storing and managing application data. It is a NoSQL database, which makes it suitable for handling flexible and hierarchical data structures.

Node.js servers handle requests from the front-end and interact with MongoDB to fetch or store data.

Angular communicates with the back-end servers via HTTP requests to display data and handle user interactions. It provides a framework for creating dynamic, single-page applications (SPAs).

StarRail.js is a library for interacting with Honkai: Star Rail game data. It provides APIs or utilities for retrieving game-specific information. The TrailBlazersServer uses StarRail.js to fetch game-specific data, which is then stored in MongoDB or sent directly to the front-end.


PvP: Face other players by trying to clear MoC faster.

Team Stats: Get stats of your team to help create the best one possible.

Relic/Build Stats: Evaluate your relics and builds.

Guides: Guides for building every character.

News: All the most recent news of the game.


Caution

You will need to install the necessary modules. Use npm install for all the servers. Use npm install --legacy-peer-deps for the front-end

  • Windows

    Run the start_servers.bat file to start the servers:

    .\start_servers.bat
  • Linux

    Run the start_servers.sh file to start the servers:

    ./start_servers.sh

About

A web app for Honkai: Star Rail that fetches real-time player data, enables team building, and lays the groundwork for browser-based battle simulations. Built with Angular, Node.js, and MongoDB using a scalable microservices architecture, with planned gRPC integration.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors