An open API service indexing awesome lists of open source software.

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.

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



Cover
Slide 2
Slide FlowChart



Slide 3
Slide 4
Slide 5



Slide 6
Slide 7
Slide 8



Slide 9
Slide 10
Slide 11



Ending


## 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
- Crashlytics

3. Add your Android app to Firebase:
- Package name: `com.org.smallcircle`
- Download `google-services.json`
- Place `google-services.json` in the app/ directory

4. 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 date

2. Maps not loading:
- Check if API key is correctly added in local.properties
- Verify API restrictions in Google Cloud Console

3. 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!



LinkedIn Badge

Created with ❤️ by Aurio Rajaa