Skip to content

KevinMB0220/Aqua-Stark

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2,026 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒŠAqua Stark ๐Ÿ 

Aqua Stark is a Web3 game on StarkNet where players can collect, raise and evolve fish in a decentralized ecosystem. ๐Ÿ๏ธ๐ŸŽฎ

๐Ÿš€ Features

โœ”๏ธ Fish breeding and evolution with unique genetics.
โœ”๏ธ Decentralized Marketplace to buy and sell fish and decorations.
โœ”๏ธ True asset ownership thanks to StarkNet and Cairo.
โœ”๏ธ Aquarium customization with exclusive items and expansions.
โœ”๏ธ Special events and tournaments with rare fish and rewards.

๐Ÿ› ๏ธTechnologies

  • Front: React.js + Vite + TailwindCSS
  • Backend: Node.js + Express + Supabase
  • Blockchain: Dojo Engine
  • Monorepo Management: pnpm workspaces

๐Ÿ“‚Project Architecture

/AQUA-STARK
โ”‚โ”€โ”€ /client                # Web client (frontend)
โ”‚   โ”œโ”€โ”€ /node_modules      # Dependencies
โ”‚   โ”œโ”€โ”€ /public            # Static assets
โ”‚   โ”œโ”€โ”€ /src               # Frontend source code
โ”‚   โ”œโ”€โ”€ .gitignore
โ”‚   โ”œโ”€โ”€ README.md          # Frontend documentation
โ”‚   โ”œโ”€โ”€ package.json       # Dependencies and scripts
โ”‚   โ”œโ”€โ”€ vite.config.ts     # Vite configuration
โ”‚โ”€โ”€ /backend               # Backend API server
โ”‚   โ”œโ”€โ”€ /src               # Backend source code
โ”‚   โ”œโ”€โ”€ /tests             # Backend tests
โ”‚   โ”œโ”€โ”€ package.json       # Backend dependencies
โ”‚โ”€โ”€ /contract              # Smart contracts and game logic
โ”‚   โ”œโ”€โ”€ /src               # Smart contract source code
โ”‚   โ”œโ”€โ”€ .gitignore
โ”‚   โ”œโ”€โ”€ README.md          # Backend documentation
โ”‚   โ”œโ”€โ”€ LICENSE            # Project license
โ”‚   โ”œโ”€โ”€ Scarb.toml         # Scarb configuration
โ”‚โ”€โ”€ pnpm-workspace.yaml    # Workspace configuration
โ”‚โ”€โ”€ pnpm-lock.yaml         # Lock file
โ”‚โ”€โ”€ package.json           # Root scripts and dev dependencies
โ”‚โ”€โ”€ README.md              # This file ๐Ÿš€

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 20+
  • pnpm 10.13.1+
  • Rust toolchain (for Cairo/Scarb)
  • Dojo CLI tools (sozo, katana, torii)

Installation

# Clone the repository
git clone https://github.com/AquaStark/Aqua-Stark.git
cd Aqua-Stark

# Install all dependencies
pnpm install

๐ŸŽฏ Local Development Setup

For a complete local development environment setup, follow our comprehensive guide:

๐Ÿ“– Local Development Guide - Complete setup from clone to running environment in <30 minutes

๐Ÿ› ๏ธ Troubleshooting Guide - Common issues and solutions

Development Commands

From the repository root, you can run these commands:

# Install dependencies for all packages
pnpm install

# Run development server for frontend
pnpm dev

# Run linting for all packages
pnpm lint

# Run type checking for all packages
pnpm typecheck

# Build all packages
pnpm build

# Run tests for all packages
pnpm test

# Run tests with coverage
pnpm test:coverage

# Format code
pnpm format

# Check code formatting
pnpm format:check

Package-Specific Commands

You can also run commands for specific packages:

# Frontend only
pnpm --filter client dev
pnpm --filter client build
pnpm --filter client lint

# Backend only
pnpm --filter backend dev
pnpm --filter backend test

๐Ÿ“– Documentation

๐Ÿ”น Frontend README: Frontend Documentation
๐Ÿ”น Architecture Decisions: ADR Documentation - Key architectural decisions and rationale

๐ŸŒ Connecting to StarkNet

To play, make sure you have a StarkNet-compatible wallet like ArgentX or Braavos. Game assets are backed by Cairo smart contracts, ensuring authenticity and scarcity.

๐Ÿค Contributing

Aqua Stark is an open-source project! To contribute, follow these steps:

๐Ÿš€ Quick Start for Contributors

1๏ธโƒฃ Fork the repository

git fork https://github.com/AquaStark/Aqua-Stark.git  

2๏ธโƒฃ Clone your fork

git clone https://github.com/YOUR_USERNAME/Aqua-Stark.git  
cd Aqua-Stark  

3๏ธโƒฃ Set up local development environment

# Follow our comprehensive setup guide
# ๐Ÿ“– [Local Development Guide](docs/local-development.md)

4๏ธโƒฃ Create a new branch

git checkout -b feature-new  

5๏ธโƒฃ Make your changes and commit them

git commit -m "feat: Add new feature"  

6๏ธโƒฃ Push the changes to your fork

git push origin feature-new  

7๏ธโƒฃ Open a Pull Request ๐Ÿš€

๐Ÿ“š Development Resources

๐Ÿ”€ Branch Naming Conventions

  • feat/feature-name โ†’ For new features
  • fix/bug-name โ†’ For bug fixes
  • chore/task-name โ†’ For maintenance or refactoring
  • docs/documentation-change โ†’ For documentation updates

๐Ÿ“ Commit Message Guidelines

  • feat: add new login functionality
  • fix: resolve issue with fish animations
  • chore: refactor contract logic
  • docs: update README with latest changes

๐Ÿ”ง Troubleshooting

pnpm Store Issues

If you encounter issues with pnpm store:

# Clear pnpm store
pnpm store prune

# Reinstall dependencies
pnpm install --force

Lockfile Conflicts

If you see lockfile conflicts:

# Remove lockfile and node_modules
rm pnpm-lock.yaml
rm -rf node_modules
rm -rf client/node_modules
rm -rf backend/node_modules

# Reinstall
pnpm install

Build Issues

If builds fail, ensure you're running from the repository root:

# Always run from root
pnpm build

# Not from individual packages
cd client && pnpm build  # โŒ Avoid this

๐ŸŒŠ๐Ÿ  Dive into Aqua Stark and build your dream aquarium! ๐ŸŽฎ๐Ÿš€

Contributing Guide CODE OF CONDUCT DOCUMENT HERE

About

Aqua Stark's monorepo

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 64.5%
  • Cairo 21.6%
  • JavaScript 12.0%
  • PLpgSQL 1.2%
  • CSS 0.7%
  • Shell 0.0%