An open API service indexing awesome lists of open source software.

https://github.com/huzaifakhandeveloper/lofi-music

A modern, immersive web app for streaming lofi music and ambient sounds. Enjoy curated moods, customizable background noise, and a built-in focus timerโ€”all in a sleek, distraction-free interface.
https://github.com/huzaifakhandeveloper/lofi-music

ambient-sounds background-noise chill focus-timer lofi lofi-music material-ui modern-ui music-player open-source productivity react redux relaxing responsive-design scss streaming study-music typescript web-app

Last synced: 3 months ago
JSON representation

A modern, immersive web app for streaming lofi music and ambient sounds. Enjoy curated moods, customizable background noise, and a built-in focus timerโ€”all in a sleek, distraction-free interface.

Awesome Lists containing this project

README

          


Lofi Music Website

# ๐ŸŽต Lofi Music Website

[![React](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB)](https://reactjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
[![Redux](https://img.shields.io/badge/Redux-593D88?style=for-the-badge&logo=redux&logoColor=white)](https://redux.js.org/)
[![Material-UI](https://img.shields.io/badge/Material--UI-0081CB?style=for-the-badge&logo=material-ui&logoColor=white)](https://mui.com/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge)](http://makeapullrequest.com)


Features โ€ข
Tech Stack โ€ข
Getting Started โ€ข
Contributing โ€ข
Support Us



A modern, interactive lofi music streaming platform built with React.js and TypeScript. Experience a soothing and relaxing ambiance with our carefully curated lofi music collection. Perfect for studying, working, or just relaxing.

GitHub Stars
GitHub Forks
GitHub Issues

## ๐ŸŽฏ Live Demo



Live Demo


Try it out โ†’

## ๐ŸŒŸ Features





๐ŸŽต Music Experience




  • Dynamic Theme Switching - Seamlessly switch between day and night modes


  • Rain Effect Toggle - Add ambient rain sounds to enhance your experience


  • Customizable Timer - Set study/work sessions with our built-in timer


  • Fullscreen Mode - Immerse yourself in the experience


  • Background Videos - Dynamic videos that change with the theme


  • Volume Control - Adjust music and rain effect volumes independently




๐Ÿ’ป Technical Features




  • Responsive Design - Enjoy on any device


  • Modern UI/UX - Clean interface with smooth animations


  • State Management - Efficient handling with Redux Toolkit


  • Type Safety - Built with TypeScript


  • Performance - Fast loading and smooth transitions


  • Cross-browser - Works on all modern browsers





## ๐Ÿ› ๏ธ Tech Stack





Frontend



  • React.js with TypeScript

  • Redux Toolkit

  • Material-UI & Bootstrap

  • SCSS




Tools



  • ESLint

  • Prettier

  • TypeScript

  • Webpack




Audio



  • React Audio Player

  • React Player

  • Custom Audio Controls





## ๐Ÿ“ฆ Dependencies

View Dependencies

### Core Dependencies
```json
{
"react": "^18.2.0",
"react-dom": "^18.2.0",
"typescript": "^5.1.6",
"@reduxjs/toolkit": "^1.9.5",
"react-redux": "^8.1.1",
"react-router-dom": "^6.2.1"
}
```

### UI Dependencies
```json
{
"@mui/material": "^5.2.7",
"@emotion/react": "^11.7.1",
"@emotion/styled": "^11.6.0",
"bootstrap": "^5.1.3",
"react-bootstrap": "^2.1.0"
}
```

### Audio Dependencies
```json
{
"react-audio-player": "^0.17.0",
"react-player": "^2.9.0"
}
```

## ๐Ÿš€ Getting Started

### Prerequisites





Required



  • Node.js (v14+)

  • npm or yarn

  • Modern browser

  • Git




Recommended



  • VS Code

  • React DevTools

  • Redux DevTools

  • GitHub CLI





### Quick Start

```bash
# Clone the repository
git clone https://github.com/HuzaifaKhanDeveloper/lofi-music.git

# Navigate to project directory
cd lofi-music

# Install dependencies
npm install --legacy-peer-deps

# Start development server
npm start
```

Visit `http://localhost:3005` to see the application.

## ๐Ÿ“ Project Structure

```
src/
โ”œโ”€โ”€ assets/ # Static assets (images, videos)
โ”œโ”€โ”€ components/ # Reusable UI components
โ”‚ โ”œโ”€โ”€ ModifierBoard/ # Timer and controls
โ”‚ โ”‚ โ”œโ”€โ”€ index.tsx # Main component
โ”‚ โ”‚ โ”œโ”€โ”€ styles.scss # Component styles
โ”‚ โ”‚ โ””โ”€โ”€ types.ts # Type definitions
โ”‚ โ”œโ”€โ”€ RainToggleButton/ # Rain effect toggle
โ”‚ โ””โ”€โ”€ DarkLightSwitch/ # Theme switcher
โ”œโ”€โ”€ constants/ # Application constants
โ”œโ”€โ”€ data/ # Data files
โ”œโ”€โ”€ layout/ # Layout components
โ”œโ”€โ”€ pages/ # Page components
โ”œโ”€โ”€ store/ # Redux store configuration
โ””โ”€โ”€ types/ # TypeScript type definitions
```

## ๐Ÿ”ง Development Guidelines

View Development Guidelines

### Component Structure
- Each component should be in its own directory
- Include component-specific styles in a `styles.scss` file
- Define types in a separate `types.ts` file
- Use functional components with hooks
- Implement proper prop typing

### State Management
- Use Redux Toolkit for global state
- Use local state for component-specific state
- Follow Redux best practices for actions and reducers
- Use TypeScript for type-safe state management

### Styling
- Use SCSS for component-specific styles
- Follow BEM naming convention
- Use Material-UI and Bootstrap for base components
- Maintain consistent spacing and colors

### Performance Optimization
- Use React.memo for expensive components
- Implement proper code splitting
- Optimize images and videos
- Use lazy loading where appropriate

### Testing
- Write unit tests for components
- Test Redux actions and reducers
- Implement integration tests
- Use React Testing Library

## ๐Ÿค Contributing

We love your input! We want to make contributing to this project as easy and transparent as possible.

### How to Contribute

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

## ๐Ÿ’– Support Us

If you enjoy using this project and want to help it grow, consider supporting us!

[![Sponsor](https://img.shields.io/badge/Sponsor-โค-ff69b4?style=for-the-badge)](https://github.com/sponsors/HuzaifaKhanDeveloper)
[![Ko-fi](https://img.shields.io/badge/Buy%20me%20a%20coffee-Ko--fi-29abe0?style=for-the-badge&logo=ko-fi)](https://ko-fi.com/huzaifakhandev)

- **Email:** [huzaifakhandeveloper@gmail.com](mailto:huzaifakhandeveloper@gmail.com)

Your support helps us keep improving and adding new features. Thank you!

## ๐Ÿ”ฎ Future Plans





Short Term



  • Add more lofi music tracks

  • Implement user playlists

  • Add more ambient sounds




Long Term



  • Create a mobile app version

  • Add user authentication

  • Implement social sharing





## ๐Ÿ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ‘ฅ Authors

- Huzaifa Khan - Initial work - [GitHub](https://github.com/HuzaifaKhanDeveloper)

## ๐Ÿ™ Acknowledgments

- Inspired by various lofi music platforms
- Thanks to all contributors who have helped shape this project
- Special thanks to the open-source community for their amazing tools and libraries
- Thanks to the React and TypeScript communities for their excellent documentation

---


GitHub Followers


Made with โค๏ธ by Huzaifa Khan