BeatVibe is an immersive music streaming app built with Flutter for Android, complemented by a powerful FastAPI backend. The app offers users a seamless experience to sign up, upload, and discover new music, with enhanced animations, background music playback, and secure data management through PostgreSQL and Hive.
- Secure Authentication: Users can easily sign up and log in, with their credentials securely stored in PostgreSQL.
- Song Management: Users can upload their favorite songs directly through the app. Songs are securely stored in PostgreSQL for efficient management.
- Discover New Music: The latest songs uploaded by users are showcased prominently on the home screen, keeping users up-to-date with trending tracks.
- Quick Access: Users' recently played songs are displayed at the top of the home screen, making it easy to revisit recent favorites.
- Personalized Experience: Songs that users have liked are stored and displayed in a separate section, ensuring quick access to their favorites.
- Continuous Listening: Enjoy seamless background music playback while using other apps or when the device is locked. The music continues playing without interruptions.
- Efficient Data Management: Leveraging Hive for local data storage, BeatVibe ensures fast access to user preferences, playlists, and offline functionality.
- Enhanced UI/UX: The app features smooth and responsive animations throughout the interface, providing an engaging and visually appealing user experience.
- Play Without Internet: BeatVibe allows users to download songs and playlists for offline playback, utilizing Hive for local storage.
- Find Your Music: A powerful search feature enables users to quickly find songs, artists, and playlists.
- Custom APIs: The backend is written using FastAPI, allowing for fast and efficient handling of requests. This includes user authentication, song management, and playlist handling through RESTful APIs.
- Scalability: FastAPI ensures the backend is highly performant and scalable, allowing the app to grow with more users and content.
- Flutter: For building a responsive and high-performance Android app.
- Dart: The programming language used with Flutter.
- FastAPI: For building a fast and scalable backend API service.
- PostgreSQL: For secure and robust storage of user data and uploaded songs.
- Hive: A lightweight and fast local database for storing user preferences and offline content.
- Animations: Integrated animations for a smooth and intuitive user experience.
- State Management: Efficient state management across the app for a responsive and consistent UI.
- Flutter SDK
- PostgreSQL Database Setup
- FastAPI and Python environment
- Android Device or Emulator for testing
- Clone the repository: git clone https://github.com/98021Varundeep/beatvibe.git cd beatvibe
2.Install dependencies for the frontend: flutter pub get
3.Set up the PostgreSQL database: Configure your database connection in the FastAPI backend.
4.Install dependencies for the backend: cd server pip install -r requirements.txt
5.Run the FastAPI server: uvicorn main:app --reload
6.Run the Flutter app on an Android device or emulator: flutter run