https://github.com/jluispcardenas/simplechessandroid
Source of the app SimpleChess
https://github.com/jluispcardenas/simplechessandroid
android chess chess-game firebase java material-design opensource pubnub
Last synced: about 2 months ago
JSON representation
Source of the app SimpleChess
- Host: GitHub
- URL: https://github.com/jluispcardenas/simplechessandroid
- Owner: jluispcardenas
- Created: 2017-04-06T22:45:18.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-06-16T03:16:07.000Z (about 4 years ago)
- Last Synced: 2025-03-12T01:53:23.961Z (over 1 year ago)
- Topics: android, chess, chess-game, firebase, java, material-design, opensource, pubnub
- Language: Java
- Homepage: https://play.google.com/store/apps/details?id=jcardenas.com.chess&hl=en
- Size: 234 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SimpleChess Android
A comprehensive native Android chess application that provides both single-player and multiplayer chess experiences with real-time communication capabilities.
## Overview
SimpleChess is a fully-featured chess application built for Android devices, offering a complete chess gaming experience with modern social features. The application combines traditional chess gameplay with contemporary mobile app features including user authentication, real-time multiplayer functionality, and social interaction capabilities.
## Features
### Core Gameplay
- **Single Player Mode**: Challenge an intelligent AI opponent with customizable difficulty
- **Multiplayer Mode**: Play real-time chess games with friends and other players online
- **Complete Chess Implementation**: Full chess rules including castling, en passant, and pawn promotion
### Social Features
- **User Authentication**: Secure login system powered by Firebase Authentication
- **Real-time Chat**: Communicate with opponents during gameplay
- **Ranking System**: Track your progress and compete with other players
- **Themed Chat Channels**: Game of Thrones-inspired chat channels for community interaction
### Technical Features
- **Real-time Synchronization**: Instant move updates using PubNub messaging
- **Responsive Design**: Optimized for various screen sizes and orientations
- **Sound Effects**: Immersive audio feedback for game events
- **Offline Capability**: Play against AI without internet connection
## Architecture
The application follows a modular Android architecture with clear separation of concerns:
- **Activities**: Main game screens and navigation
- **Custom Views**: Specialized chess board rendering and interaction
- **Services**: Background real-time communication and notifications
- **Models**: Chess game logic and data structures
- **Utilities**: Helper classes for board evaluation, scoring, and audio management
## Technology Stack
### Core Technologies
- **Language**: Java
- **Platform**: Android (API Level 24+)
- **Architecture**: Android Activities and Services pattern
### Backend Services
- **Firebase Authentication**: User management and authentication
- **Firebase Realtime Database**: User data and game state persistence
- **Firebase Cloud Messaging**: Push notifications
- **PubNub**: Real-time messaging and game synchronization
### Key Dependencies
```gradle
// Core Android Libraries
com.android.support:appcompat-v7:24.0.0
com.android.support:design:24.0.0
com.android.support:multidex:1.0.1
// Firebase Services
com.google.firebase:firebase-database:9.0.0
com.google.firebase:firebase-auth:9.0.0
com.google.firebase:firebase-messaging:9.0.0
// Real-time Communication
com.pubnub:pubnub-android:3.7.10
// Google Play Services
com.google.android.gms:play-services-auth:9.0.0
com.google.android.gms:play-services:9.0.0
// Image Loading
com.squareup.picasso:picasso:2.5.2
// Testing
junit:junit:4.12
```
## Installation
### From Google Play Store
The application is available on the Google Play Store:
https://play.google.com/store/apps/details?id=jcardenas.com.chess&hl=en
### Development Setup
1. Clone the repository
2. Open the project in Android Studio
3. Configure Firebase project and add `google-services.json`
4. Set up PubNub credentials in the project configuration
5. Build and run the application
## Screenshots

## Development
### Project Structure
```
main/java/jcardenas/com/chess/
├── activities/ # Main application screens
├── adapters/ # RecyclerView adapters
├── callbacks/ # Interface definitions
├── ia/ # AI implementation
├── models/ # Data models
├── services/ # Background services
├── utils/ # Utility classes
└── views/ # Custom views
```
### Testing
- Unit tests located in `test/java/jcardenas/com/chess/`
- Instrumentation tests in `androidTest/java/jcardenas/com/chess/`
## Contributing
This project is open source and welcomes contributions. Please ensure code follows the existing patterns and includes appropriate tests.
## License
This project is licensed under the MIT License - see the LICENSE file for details.
## Contact
**Jose Luis Cardenas**
- Email: jluispcardenas@gmail.com
- LinkedIn: [jose-luis-cardenas-54366983](https://www.linkedin.com/in/jose-luis-cardenas-54366983)
- LeetCode: [user6694X](https://leetcode.com/user6694X/)