https://github.com/auriorajaa/small_circle
Small Circle is a native Android marketplace application that connects local buyers and sellers. Users can discover items based on location, chat with sellers, manage listings, and more.
https://github.com/auriorajaa/small_circle
android android-app android-application auriorajaa firebase java maps-api marketplace native-android
Last synced: about 1 month ago
JSON representation
Small Circle is a native Android marketplace application that connects local buyers and sellers. Users can discover items based on location, chat with sellers, manage listings, and more.
- Host: GitHub
- URL: https://github.com/auriorajaa/small_circle
- Owner: auriorajaa
- Created: 2024-10-22T14:16:42.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2025-01-13T15:12:11.000Z (3 months ago)
- Last Synced: 2025-01-25T22:40:12.324Z (3 months ago)
- Topics: android, android-app, android-application, auriorajaa, firebase, java, maps-api, marketplace, native-android
- Language: Java
- Homepage:
- Size: 842 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Small Circle - Local Marketplace Android App
Small Circle is a native Android marketplace application that connects local buyers and sellers. Users can discover items based on location, chat with sellers, manage listings, and more.
## Screenshots
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
## Features
- **Authentication**
- Multiple sign-in options (Google, Email, Phone OTP)
- Account verification
- Profile management- **Marketplace Features**
- Location-based item discovery using Google Maps
- Multiple image upload for listings
- Real-time chat with image sharing
- Seller profiles
- Product management (edit, delete, mark as sold)
- Account verification system## Prerequisites
Before running the project, make sure you have:
- Android Studio (latest version recommended)
- JDK 8 or higher
- Android device or emulator running Android 6.0 (API 23) or higher
- Google Cloud account
- Firebase account## Setup Instructions
### 1. Clone the Repository
```bash
git clone https://github.com/yourusername/small-circle.git
cd small-circle
```### 2. Firebase Setup
1. Create a new Firebase project at [Firebase Console](https://console.firebase.google.com/)
2. Enable the following services:
- Authentication (Enable Google, Email/Password, and Phone providers)
- Realtime Database
- Storage
- Cloud Messaging
- Crashlytics3. Add your Android app to Firebase:
- Package name: `com.org.smallcircle`
- Download `google-services.json`
- Place `google-services.json` in the app/ directory4. Firebase Authentication Setup:
- Go to Authentication → Sign-in methods
- Enable Google Sign-in
- Enable Email/Password
- Enable Phone Number
- Add your SHA-1 and SHA-256 fingerprints (required for Google Sign-in)5. Firebase Database Rules:
```json
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
```6. Firebase Storage Rules:
```
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if request.auth != null;
}
}
}
```### 3. Google Maps Setup
1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. Create a new project or select your Firebase project
3. Enable the following APIs:
- Maps SDK for Android
- Places API
4. Create credentials (API key)
5. Add restrictions to your API key:
- Application restrictions: Android apps
- API restrictions: Maps SDK for Android and Places API### 4. Configure Local Properties
1. Create or open `local.properties` in the project root directory
2. Add your Google Maps API key:
```
MAPS_API_KEY=your_maps_api_key_here
```### 5. Building the Project
1. Open the project in Android Studio
2. Sync project with Gradle files
3. Build the project
4. Run on your device or emulator## Common Issues & Troubleshooting
1. Google Sign-in not working:
- Verify SHA-1 and SHA-256 fingerprints in Firebase Console
- Ensure `google-services.json` is up to date2. Maps not loading:
- Check if API key is correctly added in local.properties
- Verify API restrictions in Google Cloud Console3. Firebase Connection Issues:
- Ensure `google-services.json` is in the correct location
- Check internet connectivity
- Verify Firebase project settings## Libraries Used
- Firebase (Analytics, Auth, Database, Storage, Crashlytics)
- Google Play Services (Maps, Places, Auth)
- Country Code Picker (CCP)
- Glide for image loading
- Rounded ImageView
- Material Design components
- Lottie for animations
- Shimmer Effect
- AndroidX Browser
- Play Integrity## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
## Let's Connect!
Created with ❤️ by Aurio Rajaa