Epic Account Integration
Epic Online Services provides the foundation for Epic account authentication and account-related functionality.
A Fortnite-focused software project connecting Discord, Epic Online Services and Fortnite data through a modular TypeScript architecture.
Rift is a personal software development project focused on connecting Fortnite-related functionality with Discord. The application is built with TypeScript and Node.js and separates external services from its core application logic.
The project contains dedicated service layers for Fortnite API access, authentication-related functionality and application storage. This keeps external APIs and persistent data separate from the rest of the application.
Rift is being developed incrementally. Some systems are already implemented while others are being expanded as the project evolves.
The goal is a clean foundation that can grow without turning the application into one large, tightly coupled codebase.
Rift's architecture is organized around individual services rather than putting every integration directly into the application core.
Epic Online Services provides the foundation for Epic account authentication and account-related functionality.
Rift can retrieve Fortnite cosmetic information through a dedicated Fortnite API service.
Discord provides the user-facing environment for Fortnite-related functionality within the project.
Application data and saved sessions are separated into a dedicated local storage layer.
External requests are isolated behind service functions instead of being scattered throughout the application.
Rift uses TypeScript with strict compiler settings to catch problems during development.
The architecture keeps Discord, external APIs, authentication and local persistence in separate responsibilities.
┌─────────────────────────┐
│ │
│ DISCORD │
│ APPLICATION │
│ │
└────────────┬────────────┘
│
▼
┌─────────────────────────┐
│ │
│ RIFT │
│ APPLICATION CORE │
│ │
└───────┬─────────┬───────┘
│ │
┌──────────┘ └──────────┐
│ │
▼ ▼
┌───────────────────┐ ┌───────────────────┐
│ │ │ │
│ EPIC ONLINE │ │ FORTNITE API │
│ SERVICES │ │ │
│ │ │ │
└───────────────────┘ └───────────────────┘
│ │
└──────────────┬────────────────┘
│
▼
┌─────────────────────┐
│ │
│ STORAGE / DATA │
│ │
│ Sessions + Custom │
│ Profiles │
│ │
└─────────────────────┘
Each external system has its own role inside the project.
Epic account authentication and account-related authorization.
Fortnite cosmetic information and API-backed Fortnite data.
The application environment where Rift's functionality can be exposed to users.
Persistent JSON-based application data and saved session information.
Rift uses TypeScript with strict compiler settings and dedicated typed service interfaces.
export type FortniteCosmetic = { id: string; name: string; description?: string; type?: { value: string; displayValue: string; backendValue: string; }; rarity?: { value: string; displayValue: string; backendValue: string; }; }; export async function searchCosmetics( query: string ): Promise<FortniteCosmetic[]> { const cosmetics = await getCosmetics(); return cosmetics.filter( cosmetic => cosmetic.name .toLowerCase() .includes(query.toLowerCase()) ); }
A focused Node.js environment with TypeScript at the center of the application.
The project runs on Node.js and is written in TypeScript for strong typing and maintainability.
Dedicated modules handle external APIs, authentication-related logic and storage.
Local application data is persisted using a structured JSON storage layer.
Saved authentication data can be protected using authenticated AES-256-GCM encryption.
Rift's storage layer is designed to avoid treating authentication information like ordinary application data.
The project's encryption service uses AES-256-GCM with randomly generated initialization vectors and authentication tags.
Sensitive configuration such as the session encryption key is read from environment variables rather than hard-coded into the application.
This website does not contain Epic client secrets, access tokens, refresh tokens or encryption keys.
Rift is designed to use only the information required for the functionality provided by the application.
Rift is a personal project and its architecture will continue to evolve as new functionality is implemented.
Maintain separate service modules for external APIs, authentication and application storage.
Continue developing the Epic Online Services authentication and account integration.
Continue expanding the Discord-side experience around Fortnite-related functionality.
Add additional Fortnite-related capabilities as the underlying project develops.
Rift only uses account information required to provide its functionality. Information is not sold or shared for advertising purposes.
This website is a static GitHub Pages site. It does not request Epic credentials, does not collect login information and does not contain application secrets.
Authentication and session information used by Rift's application is separate from this public website. Sensitive credentials should never be committed to public repositories.
Rift is a personal software development project built around Fortnite, Discord and Epic Online Services. Follow the source and development on GitHub.