Sapdoku is a daily game based on Super Auto Pets. The goal is to fill in the grid with pets that satisfy its row and column requirements. Don't forget to share your score with friends when you finish!
Play now at sapdoku.com
- Daily puzzles based on Super Auto Pets
- Search and filter for all pets in the pets database
- Responsive design so you can play on any device
- Share completed games and compete with your friends
- Play games from the past you missed out on
- Gamemodes
- Reverse gamemode: guess the categories from the pets
- Pack specific: only use and only need pets from one pack
- Difficulty
- Easy: Allow one reguess (yellow/orange border) if one req satisfied
- Normal: Implemented
- Hard: Must get a perfect board or lose (pokedoku style)
- Performance
- Virtualize the pets page
- Proper skeleton components while loading
- Account Creation
- Link your email address to save scores and data
- Data Visualization
- See your most used pets
- See the community's most common board
- Pets Version History
- As pets are adjusted, ensure past game results stay consistent
- Technical Improvements
- Add redux, zustand, or valtio
- Upload user data to postgres
- Node.js (v14 or later)
- npm or yarn
- Clone the repository:
git clone https://github.com/yourusername/sapdoku.git
cd sapdoku
- Install dependencies:
npm install
# or
yarn install
- Start the development server:
npm run dev
# or
yarn dev
- Open http://localhost:3000 with your browser to see the result.
- Visit sapdoku.com daily to play the new puzzle
- Guess pet combinations based on the given criteria
- Share your results with friends
- src/: Contains the main application code
- app/: Main layout and pages
- assets/: Fonts
- components/: Reusable shadcn UI components
- db/: Data-related files (constants, types, models)
- lib/: Utility functions and custom hooks
- modules/: Specific application modules
- public/: Static assets
We welcome contributions to Sapdoku! Here's how you can help:
- Navigate to src/db/pets.ts
- Follow the existing structure shown here:
export const PETS_LIST = [
{
name: 'Ant',
imageSrc: 'https://superautopets.wiki.gg/images/5/56/Ant.png',
pack: ['Turtle Pack'],
tier: 1,
attack: 2,
health: 2,
abilityTrigger: 'Faint',
tags: ['Faint'],
},
// ... existing pets
{
name: 'New Pet Name',
imageSrc: 'image link',
pack: ['Example Pack'], // include all relevant packs
tier: 1 - 6, // Adjust as needed
attack: 1 - 16, // Level 1 attack
health: 1 - 16, // Level 1 health
ability: 'Ability Trigger in Bold', // may need to be added to ABILITY_TRIGGERS_LIST in src/db/constants.ts
tags: [], // tags come from SAP create custom pack
},
// ...
] as const;
- Create an issue or pull request with the Pet Data tag
- Locate the pet in src/db/pets.ts
- Update the relevant properties (attack, health, ability, etc.)
- Create an issue or pull request with the Pet Data tag
This project is licensed under the MIT License - see the LICENSE.md file for details.