A university-focused connectivity (social) application designed to help students connect and build meaningful relationships.
AmiMatch is a modern, intuitive application specifically designed for university students. Built with the latest Android technologies and powered by Firebase, it provides a secure and engaging platform for students to discover and connect with like-minded peers within their academic community.
- π― University-Focused Matching: Tailored specifically for the university environment
- π₯ Smart Matching Algorithm: Advanced matching system to find compatible connections
- π¬ Real-time Messaging: Instant messaging with matched users
- πΈ Rich Profiles: Comprehensive profile system with photos and interests
- π¨ Modern UI/UX: Beautiful, intuitive interface with smooth animations
- π Secure & Private: Built with privacy and security in mind
- β‘ Real-time Updates: Live notifications and instant updates
- Card Stack Interface: Swipe-based matching system with smooth animations
- Lottie Animations: Beautiful, engaging animations throughout the app
- Material Design: Modern Android design principles
- Offline Support: Core functionality available offline
- Push Notifications: Stay connected with real-time notifications
- Kotlin - Primary programming language
- Android Jetpack - Modern Android development components
- AndroidX Libraries - Latest Android support libraries
- Material Design Components - Google's design system
- Lottie - Beautiful animations
- Glide - Image loading and caching
- CardStackView - Swipe-based card interface
- Firebase Authentication - Secure user authentication
- Cloud Firestore - Real-time NoSQL database
- Firebase Storage - File and image storage
- Firebase Messaging - Push notifications
- Firebase Analytics - App analytics and insights
- Gradle - Build automation
- Kotlin DSL - Modern Gradle configuration
- Android Studio - Primary IDE
- Git - Version control
Before you begin, ensure you have the following installed:
- Android Studio (latest version recommended)
- JDK 8 or higher
- Android SDK (API level 23 or higher)
- Git for version control
-
Clone the repository
git clone https://github.com/yourusername/AmiMatch.git cd AmiMatch -
Set up local configuration
cp local.properties.sample local.properties # Edit local.properties with your Android SDK path -
Configure Firebase
- Create a Firebase project at Firebase Console
- Add an Android app with package name:
com.mini.amimatch - Download
google-services.jsonand place it in theapp/directory - Enable Authentication, Firestore, Storage, and Messaging services
-
Open in Android Studio
- Open Android Studio
- Select "Open an existing project"
- Navigate to the AmiMatch directory
- Wait for Gradle sync to complete
-
Build and Run
./gradlew assembleDebug
Or use Android Studio's run button
For detailed setup instructions, see SETUP.md.
AmiMatch/
βββ app/
β βββ src/
β β βββ main/
β β β βββ java/com/mini/amimatch/ # Kotlin source files
β β β βββ res/ # Resources (layouts, drawables, etc.)
β β β βββ assets/ # App assets (animations, etc.)
β β β βββ AndroidManifest.xml # App manifest
β β βββ test/ # Unit tests
β βββ build.gradle.kts # App-level Gradle config
β βββ google-services.json.sample # Firebase config sample
βββ gradle/ # Gradle wrapper
βββ build.gradle.kts # Project-level Gradle config
βββ settings.gradle.kts # Gradle settings
βββ gradle.properties # Project properties
βββ local.properties.sample # Local config sample
βββ SETUP.md # Detailed setup guide
βββ .gitignore # Git ignore rules
βββ README.md # This file
- Card Stack View: Implemented using
yuyakaido:cardstackview - Swipe Gestures: Left (reject), Right (like), Up/Down navigation
- Smooth Animations: Lottie animations for enhanced user experience
- Firebase Integration: Real-time messaging using Firestore
- Message Status: Delivery and read receipts
- Media Sharing: Photo and file sharing capabilities
- Rich Profiles: Multiple photos, interests, and detailed information
- Privacy Controls: Granular privacy settings
- Profile Verification: University email verification
- Push Notifications: Firebase Cloud Messaging integration
- In-app Notifications: Real-time updates and alerts
- Notification Preferences: Customizable notification settings
AmiMatch is currently in Beta stage. This means:
- β Core functionality is implemented and working
β οΈ Some features may be incomplete or unstable- π Bug reports and feedback are highly appreciated
- π Active development is ongoing
- Some UI elements may need refinement
- Advanced matching algorithms are being optimized
- Additional features are planned for future releases
We welcome contributions to AmiMatch! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Kotlin coding conventions
- Write meaningful commit messages
- Add tests for new features
- Update documentation as needed
- Ensure Firebase security rules are maintained
This project is currently in development. License terms will be specified in future releases.
This project was built upon a pre-made template forked from a GitHub project. While the original template repository link is no longer available (the project was created some time ago), we acknowledge the foundational work that helped kickstart this project. The template has been significantly modified and enhanced to create the current AmiMatch application.
- Firebase Team - For providing an excellent backend-as-a-service platform
- Android Team - For the comprehensive development tools and libraries
- Open Source Community - For the amazing libraries and tools used in this project
- Beta Testers - For their valuable feedback and bug reports
- CardStackView - Swipe card interface
- Lottie Android - Beautiful animations
- Glide - Image loading and caching
- Firebase - Backend services
- Material Components - UI components
For support, bug reports, or feature requests:
- π§ Open an issue on GitHub
- π¬ Join our community discussions
- π± Follow the project for updates
AmiMatch - Connecting Hearts, Building Futures