Skip to content

teamreflex/cosmo-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cosmo-web (Apollo)

This project aims to build a web based version of MODHAUS' Cosmo: the Gate mobile application, replicate its core features as close as possible, and add new features on top.

Apollo is not affiliated with, endorsed by or supported by MODHAUS or its artists.

This project experiments with new tooling such as Next.js App Router streaming, React Server Components, React Server Actions and Tailwind v4.

Replicated Features
  • Signing into COSMO accounts via Ramper magic links
  • Viewing in-app news feed and exclusive COSMO content
  • Sending objekts over the Polygon blockchain
  • Scanning objekt QR codes
  • Claiming event rewards
  • Completing objekt grids
  • View and vote in Gravity events
  • View and like Rekord posts
  • View activity history, rankings, badges
New Features
  • "lock" objekts to prevent them from being traded (like the Superstar games)
  • View other user's collections via COSMO or Polygon blockchain
  • Pin objekts to the top of your profile
  • Extensive profile privacy options
  • View an index of every released objekt, number of copies and how it's obtained
  • Wishlist builder with sharable links
  • Calendar to see when monthly COMO drops are coming
  • View objekt transfers
  • Per member, season and class collection progress breakdowns
  • Collection completion leaderboards
  • Scan an objekt without claiming
  • Indicator for Polygon network disruptions

Notes

  • There's no app version or user agent spoofing. It's entirely possible for MODHAUS to detect usage of this. Use at your own risk.
  • Anything in /scripts are mostly just one-offs to migrate production data.

Requirements

  • Node.js 18.17+
  • Alchemy API key
  • Neon instance
    • Or swap this out for another Postgres compatible database with minimal code changes
  • Postgres instance with HTTP proxy
    • The accompanying blockchain indexer has containerized Postgres 15.5 and an HTTP proxy running under Bun.
    • Migration files can also be found there
  • Alternatively, you can use Docker to run a local Postgres instance with two databases, a Neon serverless proxy and a Drizzle HTTP proxy.

Setup (Neon)

git clone [email protected]:teamreflex/cosmo-web.git
cd cosmo-web
pnpm install
cp .env.example .env.local
pnpm db:migrate
pnpm dev

Setup (Local Docker)

Download a copy of the indexer database from MEGA and place it into the root of the project. This contains:

  • All objekt collections as of 240422
  • Objekt transfers between 240422 and 240330~
  • Objekt ownership between 240422 and 240330~
git clone [email protected]:teamreflex/cosmo-web.git
cd cosmo-web
pnpm install
cp .env.example .env.local
docker compose up -d
psql -U postgres -h db.localtest.me -d indexer -f indexer-trimmed.sql
pnpm db:migrate
pnpm dev

Tooling

License

Licensed under the MIT license.

Contact