Skip to content

mageshyt/NightAngle-flutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Night Angle

Table of Contents

Overview

Night Angle is a music app where users can share their own music and listen to music uploaded by others. Users can favorite tracks, search for music by name or artist, and discover new music. The app follows the MVVM architecture and includes features such as image and music caching, and background play similar to premium features in Spotify.

Database Design

The Night Angle app uses a PostgreSQL database with Prisma as the ORM. The schema is designed to efficiently handle user data, songs, playlists, and favorites. Here's an overview of the schema:

Database Schema

Benefits of the Design

_ Efficiency: Indexes on frequently searched fields (like email, song_name, userId) improve query performance

  • Flexibility: The design supports complex queries and relationships, allowing for features like playlists and favorites.
  • Security: Storing user passwords securely (assuming proper hashing) and using unique constraints on sensitive fields like email.

Features

Flow Chart The Night Angle app includes the following features:

  • User authentication: Users can sign up and log in to the app
  • Upload music: Users can upload their own music
  • background play: Users can play music in the background
  • Search: Users can search for music by name or artist
  • Favorites: Users can favorite tracks
  • Add to playlist: Upcoming feature
  • Discover: Upcoming feature
  • AI music generation: Upcoming feature

Installation

Prerequisites

  • FastAPI: Ensure you have Python installed. You can install FastAPI using pip:
  • Flutter: Follow the official Flutter installation guide to set up Flutter on your machine.
pip install fastapi
  • PostgreSQL: Set up a PostgreSQL database. You can use services like Heroku or install PostgreSQL locally.
  • Prisma: Install Prisma CLI:
npm install -g prisma

Steps

  1. the repository:
git clone https://github.com/mageshyt/night-angle.git
cd night-angle
  1. up the Backend:
  • Navigate to the backend directory:
cd backend
  • Run docker-compose to start the PostgreSQL database:
docker-compose up -d
  • Run the Prisma migration to create the database schema:
prisma migrate dev
  • Start the FastAPI server:
uvicorn app.main:app --reload
  1. up the Frontend:
  • Navigate to the frontend directory:
cd frontend
  • Install the dependencies:
flutter pub get
  • Start the Flutter app:
flutter run

Screenshots

Login Register
Home Home 2
Music Player Upload
Search

Technologies Used

  • Frontend: Flutter
  • Backend: FastAPI
  • Database: PostgreSQL
  • ORM: Prisma

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request if you have any ideas or suggestions.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Resources

Special Thanks to Rivaan for his inspiration and guidance.

Acknowledgments

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages