Skip to content

ObedMz/CS-BACKEND

Repository files navigation

Steam Inventory API Gateway

Flow Diagram


Description

This is an intermediary API intended to manage and manipulate data from Global Offensive (CSGO). The API provides protected endpoints for modifying this data, as well as public endpoints for querying filtered information previously stored in the database.


Main Features

  • Technologies Used:
    • Spring Boot for implementing business logic and managing the application's lifecycle.
    • Spring Security for application security, ensuring user authentication and authorization through JWT.
    • MongoDB as a NoSQL database for persistent storage of inventory data.
    • Utilization of asynchronous processes with Completable Futures for efficient management of concurrent tasks.
    • JWT (JSON Web Tokens) for user authentication and secure token generation.
    • Protected routes requiring authentication to access, ensuring security of sensitive data.
    • Implementation of initialization events through Spring Command Line Runner for performing setup operations and data loading on application startup.
    • Usage of Schedulers for scheduling and automatic execution of repetitive tasks at regular intervals such as loading and synchronization of data from the external API.
    • Integration with Jackson and Mappers for serialization and deserialization of raw data, facilitating database update from an external endpoint.

Functionalities

  • Protected Endpoints:

    • Allows modification of CSGO inventory data, ensuring that only authorized users can access this functionality.
  • Public Endpoints:

    • Provides filtered data stored in the database, coming from the CSGO Steam API, publicly accessible for querying.

Swagger Documentation

API documentation is generated with Swagger. You can access the documentation and test the endpoints here.


Usage Examples

To use the protected endpoints, authentication is required through the exchange of JWT tokens generated at {url}/login. Once authenticated, users can send HTTP requests with the necessary data to securely and efficiently modify CSGO user inventories.


Installation and Configuration

Clone the repository from GitHub

git clone https://github.com/ObedMz/CS-BACKEND.git
cd CS-BACKEND
./gradlew bootRun

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages