Skip to content

Sonore is a modern, lightweight music streaming application designed to let users discover, play, and curate music playlists. It combines a clean UI with performant back-end services to deliver low-latency playback and an easy-to-use experience for listeners and curators.

License

Notifications You must be signed in to change notification settings

Riya922003/Sonore-Music-Streaming-

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sonore — Music Streaming

Sonore is a modern, lightweight music streaming application designed to let users discover, play, and curate music playlists. It combines a clean UI with performant back-end services to deliver low-latency playback and an easy-to-use experience for listeners and curators.

Table of contents

  • Project overview
  • Key features
  • Tech stack (suggested)
  • Quick start (development)
  • Production / build
  • Environment variables
  • File structure (suggested)
  • Contributing
  • Tests
  • Deployment
  • Roadmap
  • License
  • Contact

Project overview

Sonore is intended to be a full-stack music streaming platform where users can:

  • Browse and search music (tracks, albums, artists)
  • Stream tracks with minimal buffering
  • Create and share playlists
  • Like or favorite tracks for quick access
  • Manage a profile and view listening history

This repository contains the source code and configuration to run Sonore locally and deploy it to production.

Key features

  • Fast, resilient audio streaming
  • Modern responsive UI (desktop & mobile)
  • Search and discovery (by track, artist, album, genre)
  • Playlist management
    • Create playlists: build and save custom playlists from any tracks in the catalog.
    • Blend playlists: merge or "blend" multiple playlists into a single listening session (mix tracks from several playlists while preserving order/weights).
  • Video lookup for songs: checkout videos of a song — the backend can generate a best-effort YouTube search query (and return a video id) so clients can show the official music video, lyric video, or official audio when available.
  • Link songs: attach external links or related-track references to songs (for example, link to remixes, alternate versions, or artist pages).
  • Focus queue feature: create a temporary, focused playback queue — build sessions by duration, by genre/language filters, or by blended playlists to reduce distractions and keep listening tightly curated.
  • User authentication and profiles
  • Basic analytics (listening counts, favorites)
  • Extensible architecture for integrations (third-party catalogs, ads, social)

Tech stack

  • Front-end: React
  • Back-end: Node.js + Express
  • Database: MongoDB
  • Media storage / streaming: Cloudinary
  • Authentication: JWT and Oauth2
  • Dev tooling: ESLint, Prettier

Adjust this section to reflect the actual technologies used in this repository.

Quick start (development)

Prerequisites

  • Node.js (16+ recommended)
  • npm or yarn
  1. Clone the repository git clone https://github.com/Riya922003/Sonore-Music-Streaming-.git cd Sonore-Music-Streaming-

  2. Install dependencies

    • If the project is monorepo with folders like client/ and server/, run installation in each folder: cd frontend && npm install cd backend && npm install
    • Otherwise from repo root: npm install
  3. Run services (local dev)

    • Start backend: cd backend node server.js
    • Start frontend: cd frontend npm run dev Or, use the root dev command if provided: npm run dev
  4. Open the app

Production / build

Build the application for production:

  • Front-end: cd client npm run build npm run start (or serve static assets)

  • Back-end: cd server npm run build npm run start

Environment variables

The application requires a set of environment variables to run. Example variables (adjust to your implementation):

  • SERVER_PORT=4000
  • DATABASE_URL=postgres://user:password@localhost:5432/sonore
  • JWT_SECRET=your_jwt_secret
  • STORAGE_PROVIDER=s3|local
  • S3_BUCKET=name-of-bucket
  • S3_REGION=region
  • S3_ACCESS_KEY_ID=xxx
  • S3_SECRET_ACCESS_KEY=xxx
  • NODE_ENV=development|production

Place sensitive values in .env and never commit them. Use .env.example to show names and expected format.

Contributing

Contributions are welcome! Suggested workflow:

  1. Fork the repo
  2. Create a feature branch: git checkout -b feat/my-feature
  3. Implement changes and add tests where applicable
  4. Run linting and tests
  5. Open a pull request describing the changes

Please follow the existing code style and add tests for new functionality. If you intend to make a large change, open an issue first to discuss the design. Open issues and feature requests are tracked in GitHub Issues. Please add ideas or request features there.

Test User Credentials

License

This project is released under the MIT License. See LICENSE for details.

Contact

Maintainer: Riya Gupta

About

Sonore is a modern, lightweight music streaming application designed to let users discover, play, and curate music playlists. It combines a clean UI with performant back-end services to deliver low-latency playback and an easy-to-use experience for listeners and curators.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 60.3%
  • JavaScript 37.7%
  • CSS 1.9%
  • HTML 0.1%