A beautiful, open-source solitaire card game built with Flutter.
- Cross-Platform: Runs on Web, Android, iOS, Windows, macOS, and Linux
- Offline-First: No internet connection required
- Accessible: Large, readable cards optimized for all ages
- Beautiful: Custom platform-agnostic UI with elegant card table aesthetic
- Extensible: Architecture designed for adding new game types
- Privacy-Respecting: All data stored locally, never transmitted
Coming soon
-
Prerequisites
- Flutter SDK 3.0 or higher
- Dart SDK 3.0 or higher
-
Clone the repository
git clone https://github.com/plotworx/solitude.git cd solitude -
Get dependencies
flutter pub get
-
Download card assets
# Download the SVG cards from htdebeer/SVG-cards # Place svg-cards.svg in assets/cards/
-
Download Inter font
# Download from https://rsms.me/inter/ # Place font files in assets/fonts/
-
Run the app
# For web flutter run -d chrome # For desktop flutter run -d windows # or macos, linux # For mobile flutter run -d android # or ios
Download the latest release for your platform from the Releases page.
Move all 52 cards to the four foundation piles, building each from Ace to King by suit.
- Stock: Face-down cards to draw from
- Waste: Cards drawn from stock
- Foundations: Four piles (one per suit) to build Ace → King
- Tableau: Seven columns of cards
- Draw 1 or 3 cards from stock to waste
- Move cards between tableau columns in descending order, alternating colors
- Only Kings can be placed on empty tableau columns
- Move cards from tableau or waste to foundations in ascending order by suit
- Draw Mode: Draw 1 or 3 cards at a time
- Auto-Complete: Automatically complete game when all cards are face-up
- Theme: Light or Dark mode
- Games Played
- Games Won
- Win Percentage
- Current Win Streak
- Best Win Streak
- Best Time
- Fewest Moves
flutter build web --release# APK
flutter build apk --release
# App Bundle (for Play Store)
flutter build appbundle --releaseflutter build ios --releaseflutter build windows --releaseflutter build macos --releaseflutter build linux --releasesolitude/
├── lib/
│ ├── main.dart # App entry point
│ ├── models/ # Data models
│ │ ├── card.dart
│ │ ├── deck.dart
│ │ ├── pile.dart
│ │ └── move.dart
│ ├── games/ # Game implementations
│ │ ├── game_interface.dart
│ │ └── klondike/
│ ├── widgets/ # Custom UI widgets
│ ├── screens/ # App screens
│ ├── services/ # Business logic
│ └── theme/ # Theming
├── assets/
│ ├── cards/ # SVG card graphics
│ └── fonts/ # Inter font
├── LICENSE # GPL v3
├── CREDITS.md # Asset attributions
└── README.md
- Spider Solitaire
- FreeCell
- Sound effects (optional)
- Additional card back designs
- Landscape optimization improvements
- Accessibility improvements
Contributions are welcome! Please read our contributing guidelines before submitting pull requests.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
- Card Graphics: SVG Playing Cards by David Bellot / Huub de Beer - LGPL 2.1+
- Font: Inter by Rasmus Andersson - SIL Open Font License
- David Bellot and Huub de Beer for the beautiful SVG playing cards
- Rasmus Andersson for the Inter typeface
- The Flutter team for an excellent cross-platform framework
Made with