Coder Social home page Coder Social logo

rustplusplus-credential-page's Introduction

rustPlusPlus Credentials Web Application

Application to access FCM Credentials used for the NodeJS Discord Bot rustPlusPlus.

rustplusplus web image

How to use

For detailed instructions on how to use the rustPlusPlus Credentials Web Application, please refer to the documentation available at Documents Page.

By following these steps and referring to the provided documentation, you can easily set up, build, and use the rustPlusPlus Credentials Web Application for your NodeJS Discord Bot.

Overview

The rustPlusPlus Credentials Web Application is designed to generate and manage FCM (Firebase Cloud Messaging) credentials required for the NodeJS Discord Bot rustPlusPlus. This application provides a streamlined way to obtain and use these credentials without the need for complex configurations or manual steps.

Why Credentials are Needed

The rustPlusPlus Discord Bot leverages the Rust+ companion app's functionality, which requires authentication through FCM credentials. These credentials allow the bot to receive push notifications and interact with the Rust+ API on behalf of the user. Without these credentials, the bot would be unable to perform tasks such as sending alerts, fetching server information, or executing commands within the Rust game.

Credential Expiry Period

rustplusplus web image According to the Rust Pairing Flow, the Rust Companion API returns a refreshed Steam Auth Token which expires after 2 weeks. This is the primary reason for the 2-week expiry period of the credentials.

How-to build for development

Download and Install Dependencies

$ npm install

Build the Project

$ npm run build

Start the Project

$ npm run start

Contributors

  • UI Design : Provided by KanghoYoo@github
  • Sidebar Content Idea : Provided by esk147@github

rustplusplus-credential-page's People

Contributors

trophy198 avatar kanghoyoo avatar esk147 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

kanghoyoo esk147

rustplusplus-credential-page's Issues

display page needs improvement

on the display page users can view the credentials available for use. However, it's necessary to indicate whether the token is active or inactive based on its expiration date.

add pages within documents

  • documents
  • getting-started
  • discord-bot-setup
  • pair-and-connect-to-a-server
  • fcm-credentials(exe version)
  • fcm-credentials(extension version)
  • discord-text-channels
  • commands
  • discord-slash-commands
  • in-game-commands

Update on the New Rust+ Flow

We have temporarily used an authtoken, but due to the update in the rustplus.js library, we need to switch to new credentials.

Improvements to the /documents structure

  • The structure of the documents component is not unified. Some structures store and retrieve data in JSON format, while others are assembled and loaded in a different manner. Therefore, integration is necessary.

Version 1.1.0 Update

The version 1.1..0 update includes the folloing additions

  • documents page
    • Getting Started page
      • Installation page
      • Discord Bot Setup page
      • FCM Credentials
      • Pair and Connect To a Server page
    • DIscord Text Channels
    • Commands
      • Discord Slash Commands
      • In-game Commands

The update version 1.1.0 focuses on improving the user experience and strengthening document management capabilities.

Investigation Required: Impact of FCM Subscription API Removal

The current library calls https://fcm.googleapis.com/fcm/connect/subscribe for the final FCM subscription step. Confirmed with the Firebase team, this URL is scheduled for removal on June 20, 2024. While this URL is not explicitly listed among the affected URLs, it is considered part of the "Legacy Web SDK".

The push-receiver library also appears to use this call.
Once the URL is removed, FCM subscriptions through push-receiver may no longer function correctly.

  1. Investigate alternative libraries or methods for FCM subscriptions that do not rely on the deprecated URL.
  2. Update existing code to use the alternative library, if necessary.
  3. Prepare to transition to a new API as recommended by the Firebase team.

Reference Document

issue

Upcoming Update List

Add Steam Profile Image

  • Plan to reduce unneccessary items in the header and change them to menu item format

Add Unregister API Function for Credential,FCM,GCM

  • The current logout function is a simple deletion function that only removes values in the cookies. By using the unregister API with the actual AuthToken, DeviceId, and PushToken, these values can be made unusable, effectively logging the user out.

Addition of Dark/White Mode

  • Add dark and white modes to improve user experience. This will require changing the background color and font color globally.

Addition of Multilingual Support

  • Based on statistical trends showing that users of the rustplusplus-credential-extension come from many different countries, we plan to add multilingual support.

Reference document

update new docs

need some docs update

  • - commands docs
  • - credentials docs
  • - credentials_web_version
  • - discord_text_channels
  • - documentation
  • - full_list_features
  • - pair_and_connect_to_server
  • - smart_devices

List of Code Improvements to be Made in the Future

  • Improve Component and Data, Config Folder Structure
    Currently, it is confusing whether a file belongs to data or components in the respective folders. This needs to be addressed by either integrating them or improving the structure to match their intended purpose.

  • Separate Interfaces
    Many files currently declare interface types within them. In the future, we plan to either separate these into a types folder or add a file related to types within the folder that uses these types.

  • Improve Document Page
    Currently, some document pages are structured to load data in JSON format, while others are assembled using component structures. To facilitate maintenance, consistency must be maintained. Possible solutions include using MDX or consolidating into JSON.

  • Numerous Magic Numbers and URLs
    There are still magic numbers and URLs within pages or components. This is not a good coding practice and needs improvement. Magic numbers should be moved to a constants file, and sensitive URLs should be specified in the environment variables.

  • Pretendard Font Size Adjustment
    Currently, Google Fonts are being loaded using preconnecting, which might affect initial loading. We plan to change this method to directly import the fonts to reduce the size and improve performance

  • Modification of Login/Logout Logic
    Allow users to directly delete logout-related data (this would require removing the HttpOnly attribute).

  • Transition to App Router Structure
    Server Components: Supports server components, allowing rendering on the server side for improved performance and efficient data fetching.
    Improved Data Fetching: Offers more flexible data fetching methods, eliminating the need for getServerSideProps or getStaticProps.
    Dynamic Routing and Nested Layouts: Simplifies the management of complex routing structures, making it ideal for large-scale applications.

  • Separate API Folder
    Currently, there are parts where APIs are being used within components or pages. Considering the purpose of these components and pages, it is necessary to separate the API URLs and calls from within the components or pages.

create footer component

  • Add GitHub image file
  • Add Discord image file
  • Create footer component file
  • Use tag for external links
  • Open external links in a new tab
  • Optimize with Next.js Image tag
  • Create a skeleton with placeholder for blur effect
  • Manage external link URLs as variables
  • Create footer stylesheet
  • Center alignment and responsiveness using flex
  • Use global color variables for frequently used colors
  • Change color on tag hover behavior

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.