Genshin Optimizer is a helper website for the online action-rpg gacha game Genshin Impact. It is intended to assist players with optimizing artifacts to max-min their characters, while providing a clean, structured UI, and provide real-time results.
Are you a web developer who is looking to contribute to the most over-engineered Genshin website ever made? Can you distinguish which one of the following is a pokemon?
React MaterialUI nx ekans GraphQL git metapod NextJS discord.js vite nodeJS emotion prisma Agumon tessract.js typescript bun sawk webpack next-auth jest
If you have knowledge in some(or any) of those techonology mentioned above, or are hoping to learn in an actively-developed app with thousands of users, please join our Discord! We'd love to work with you.
- New characters and content will continue to be added as Genshin updates
- Artifact upgrade damage probability calculator - Q1 2024
- Optimal substat solver for TC mode - Q2 2024
- A full-stack GO solution with a backend and database
- User login, saving artifacts/data in the backend
- Easily sharing character builds (URL)
- Easily sharing multi-targets
- New calculation Engine - Pando
- Allow for weapon optimization
- Teams + Loadouts
- Calculate team damage
- Sharable loadouts
- Coming Q4 2024
- Access your GO builds from a discord bot
- Coming Q2 2024
- We need more devs! Please help us!
- Coming ???
GO is hosted as a monorepo. The Applications are in /apps The dependencies to the apps are in /libs
frontend
- The main GO website - static website built using React with MUI, using the now deprecated Waverider calculation engine.
sr-frontend
- WIP Star Rail optimizer - static website built using React with MUI, using the Pando calculation engine.
gi-frontend-next
- WIP GO frontend - website built using NextJS, MUI, next-auth, using the Pando calculation engine.
gi-backend
- WIP GO backend - supporting gi-frontend-next
, using nestJS, prisma, GraphQL, and mongoDB.
somnia-bot
- WIP discord bot - built using discord.js, using the Pando Calculation engine.
gi-good - Interface for the Genshin Open Object Description (GOOD). An import format for Genshin scanners.
sr-srod - Interface for the Star Rail Object Description (SROD). An import format for Star Rail scanners.
pando - The new Optimizer calculation engine.
gi-formula - The Genshin implementation of Pando.
sr-formula - The Star Rail implementation of Pando.
gi-stats - Extracted Genshin numbers and values from the datamine, using Optimizer pipeline.
sr-stats - Extracted Star Rail numbers and values from the datamine, using Optimizer pipeline.
Install yarn
(link).
Run yarn
to install dependencies.
Run nx serve {frontend | sr-frontend}
for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
Run nx graph
to see a diagram of the dependencies of the projects.
✨ The tesseract model used was trained and provided by the creator of Inventory Kamera
✨ The creator of Silly Wisher has granted us permission to incorporate their artwork into Silly Optimizer. Silly Wisher discord, App store, Google Play
✨ This workspace has been generated by Nx, a Smart, fast and extensible build system.