Welcome to the SoundCloud Clone project! This project is a web application built using modern web technologies to mimic the core functionalities of SoundCloud. It allows users to play and pause music, log in and out using various authentication methods, comment on songs, create playlists, upload songs, view uploaded songs, and utilize an admin panel for managing content. The application is built with ReactJS, TypeScript, and Next.js, styled using SCSS and MUI, and features real-time updates.
- Play/Pause Music: Users can play and pause music tracks.
- Login/Logout: Users can authenticate using GitHub, Google, or server credentials.
- Comment on Songs: Users can leave comments on songs.
- Create Playlists: Users can create and manage their own playlists.
- Upload Songs: Users can upload their own music tracks.
- View Uploaded Songs: Users can view a list of their uploaded songs.
- Like Songs: Users can like songs and view the number of likes.
- Real-Time Updates: The application supports real-time updates for comments, likes, and other features.
- Delete Comments: Admins can delete comments from songs.
- Delete & Update Songs: Admins can delete or update songs.
- View and Manage Users: Admins can view and manage user accounts and content.
- The project is set up to run in a Docker container, making it easy to deploy and manage in different environments.
- Front-end: ReactJS, TypeScript, Next.js
- Styling: SCSS, MUI (Material-UI)
- Authentication: GitHub, Google, Server Credentials
- Back-end: To be integrated with a back-end service for data management (NestJS, MongoDB) and real-time features
- Containerization: Docker
- Node.js (v18.x or higher)
- npm or yarn
- Git
- Clone the Repository
git clone https://github.com/Edvo1901/sound-cloud-music.git
cd sound-cloud-music
- Install Dependencies
npm install
# or
yarn install
-
Set Up Environment Variables
Create a
.env.developementfile in the root directory and add the necessary environment variables:NEXT_PUBLIC_BACKEND_URL=<your-backend-host-url> GITHUB_ID=<Github-ID> GITHUB_SECRET=<Github-secret-key> NEXTAUTH_URL=<Your-hosting-url> NEXTAUTH_SECRET=<secret-string> -
Run the Development Server
npm run dev # or yarn devOpen http://localhost:3000 with your browser to see the result.
-
Sign Up / Log In
- Use GitHub, Google, or server credentials to sign up or log in.
-
Play Music
- Browse songs and click the play button to start listening. Use the pause button to stop.
-
Comment on Songs
- Navigate to a song's page and leave a comment in the comments section.
-
Create Playlists
- Use the playlist creation feature to organize your favorite tracks.
-
Upload Songs
- Use the upload feature to add your own tracks to the platform.
-
Like Songs
- Click the like button on songs you enjoy.
-
Access Admin Panel
- Navigate to the admin panel via the admin dashboard.
-
Manage Comments
- View, delete, or update comments on songs.
-
Manage Songs
- View, delete, or update songs uploaded by users.
We welcome contributions! Please follow these steps to contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/your-feature) - Open a pull request
This project is licensed under the MIT License. See the LICENSE file for details.
If you have any questions or suggestions, feel free to open an issue or contact the project maintainer at [DongVo1901@gmail.com].