Sign inSign up

yt98/legora-api

By yt98

•Updated over 2 years ago

Riot Api Interaction and ExpressJs Application for Managing League of Legends Api

Image
API management
Web servers
Databases & storage
0

928

yt98/legora-api repository overview

⁠Legora

League of Legends Mobile Companion

⁠Overview

Welcome to the League of Legends Mobile Companion! This project is an open-source mobile application designed to Test out the Integration between ExpressJs Application and Mobile Applications. The app, built using Kotlin Multiplatform, is available for both iOS and Android. It integrates with a backend API powered by Express.js and TypeScript, providing rich data and functionalities.

⁠Features

Feed Screen: First Screen to Show News, Popular Players Summoner Info: Show All Info for Summoners including (Lol Matches, TFT Matches, Champions Mastery, Summoner Public Info) Champions List: Show LOL, TFT Champions List and the Public Data for Each Champion Accounts: Create Accounts to Connect to League Of Legends Accounts Using Riot Api Communication

⁠Riot Summoner Data Information

This Project Depends on the Api Project for Server Communication with Riot Api to get the data and parse it for Clients

  1. Summoner Info
  2. Match History
  3. Champions Info (Info, Name, Icons)
  4. Items Icons
  5. Convert Response Keys to Json Arrays for Mobile Apps Parse

⁠Screenshots

⁠Android
⁠IOS

⁠Tech Stack

⁠Mobile Applications:
  1. Android App (Jetpack Compose)
  2. IOS App (Swift UI)
⁠Backend API:

Framework: Express.js Language: TypeScript

⁠Android Application Info

  1. Language : Kotlin
  2. Shared Code : Kotlin Multiplatform
  3. Dependency Injection : Hilt
  4. Local Caching : Room Kotlin Multiplatform
  5. Image Loading : Glide
  6. Api Client Library : Ktor Client
  7. UI : Jetpack Compose
  8. Loading : Lottie Animation

⁠IOS Application Info

  1. Language: Swift
  2. Shared Code : Kotlin Multiplatform
  3. Local Caching : Room Kotlin Multiplatform
  4. Api Client Library : Ktor Client
  5. UI : SwiftUI

⁠Api Application Info

  1. Language: Typescript
  2. Deployment: Docker, Docker Compose, Digital Ocean Droplet
  3. Data Mapping: Summoner Info, Match History, Champions, DDragon Images and Champions Info
  4. Create Users in Postgresql
  5. Auth Tokens With JWT (Public Links, Authenticated Links Only)

⁠Api Details

  1. Example Response
  2. Postman Apis Collection
  3. Deployment Steps
  4. Docker Image

Before Run the Api Project make sure to Replace : TOKEN Env Variable with Riot Token from Your Account Dashboard

All of them Available inside Readme File in API Path

Api Documentation Link⁠ Postman Collection Link⁠ Docker Compose Yml File for Server Deployment Link⁠

⁠License

This project is licensed under the MIT License - see the LICENSE file for details.

⁠Acknowledgements

Riot Games for the incredible League of Legends game and API. Kotlin Multiplatform for enabling shared code across iOS and Android. Express.js and TypeScript communities for the powerful backend framework.

⁠Opensource Project Info

Legora is an unofficial project and is not endorsed or affiliated with Riot Games, Inc. This app is a demo and open-source project created for educational and experimental purposes.

⁠Key Points:
  1. Not an Official Riot Games Project: This app is developed independently and has no direct connection to Riot Games or any of its official partners.
  2. For Educational Use: The project is intended to showcase the capabilities of Kotlin Multiplatform for mobile development and Express.js with TypeScript for building APIs.

Tag summary

Content type

Image

Digest

sha256:9610792c5…

Size

234.4 MB

Last updated

over 2 years ago

docker pull yt98/legora-api