Back to projects

Music Streaming App

Started on December 21, 2024

Project Description

This website is a music streaming website that allows users to stream music from their computers. It uses React and TypeScript for the frontend and Rust for the backend.

Currently, the website is in development and is not yet functional. The rust backend, currently, sends the entire file to the frontend instead of streaming it.

I used remix because it is fast, as it is based on Vite and I wanted to have backend that is completely separate from the frontend, so wanted something lightweight for the frontend to remove clutter so that the backend can work cleanly with the frontend without all the mixing. Which is difficult to follow (in my opinion).

Current Features on the backend

  • User registration
  • User login
  • Session invalidation (logout)
  • Get user info
  • User session management
  • Output the chunks of the audio file
  • Get the current song info
  • Use an s3 bucket to store the music files
  • Storing information about the songs in the database
  • Splitting the files in the s3 bucket into smaller chunks to be loaded

Current Features on the frontend

  • Login
  • Sign up
  • Logout
  • Session checking (using cookies)
  • Play the audio as a stream
  • Stopping playback if the next sample is not loaded
  • Admin console

Future Features

  • Add a search feature
  • Add a playlist feature
  • Add a favorites feature
  • Database pooling connections on the backend
  • Backend logging of requests