NOTTA is a frontend music streaming platform designed to provide users with an immersive experience for discovering, listening to, and exploring music. The platform features a wide range of music genres, albums, singles, and artists, with a focus on user-friendly navigation and seamless playback. Key features include a responsive design, dynamic routing, and interactive components for browsing and playing music.
- Music Catalog: Browse albums, singles, and artists with detailed information.
- Music Player: Play, pause, and control music playback with a sleek and intuitive UI.
- Genre Exploration: Explore music by genre with a visually appealing grid layout.
- Search Functionality: Search for artists, albums, and singles with dynamic results.
- Responsive Design: Optimized for desktop, tablet, and mobile devices.
- Dynamic Routing: Seamless navigation between pages using React Router.
- State Management: Efficient handling of music playback and user interactions using React hooks.
- Frontend: React, Tailwind CSS, React Router
- State Management: React Hooks (useState, useEffect, useContext)
- Routing: React Router DOM
- Icons: Lucide React
- Audio Playback: HTML5 Audio API
- Data Management: Local data modules for artists, albums, and singles
-
Clone the Repository:
git clone https://github.com/Aamooum/NOTTA.git cd NOTTA -
Install Dependencies:
npm install
-
Run the Development Server:
npm start
-
Open in Browser: Visit
http://localhost:3000to view the application.
src/
├── components/ # Reusable UI components
│ ├── AlbumHeader/ # Album header component
│ ├── AlbumTable/ # Album track list component
│ ├── Footer/ # Footer component
│ ├── GenresGrid/ # Genre grid component
│ ├── HorizontalScrollArtists/ # Horizontal scroll for artists
│ ├── HorizontalScrollMediaView/ # Horizontal scroll for albums/singles
│ ├── MediaGridView/ # Grid view for albums/singles
│ ├── MusicPlayerUI/ # Music player UI component
│ ├── ProgressBar/ # Progress bar component
│ ├── SearchPopularArtists/ # Popular artists search component
│ ├── SectionHeader/ # Section header component
├── data/ # Static data (e.g., artists, albums, singles, genres)
├── pages/ # Page components (e.g., Home, Album, Artist, Genre, Search)
├── App.js # Main application component
├── index.js # Entry point