This project is a full-stack application that allows users to upload a music file, extract metadata such as filename, artist, album, year, etc., and view the data on the front end. The front end is built with React and styled using Tailwind CSS, while the back end is powered by Spring Boot.
To get a local copy up and running, follow these steps.
- Clone the repository:
git clone https://github.com/Chaitanya0202/music-web-client
- Navigate to the front end directory:
cd Chaitanya0202/tail-mui
- Install dependencies:
npm install
- Start the development server:
npm start
In the project directory, you can run:
npm start
: Runs the app in development mode.npm test
: Launches the test runner.npm run build
: Builds the app for production.npm run eject
: Ejects the configuration files.npm run lint
: Runs the linter.npm run format
: Formats the code using Prettier.
- src/
- components/: Reusable React components.
- pages/: Application pages.
- services/: API calls and service functions.
- styles/: Tailwind CSS styles.
- App.js: Main application component.
- index.js: Entry point of the application.
- React: JavaScript library for building user interfaces.
- Tailwind CSS: Utility-first CSS framework for styling.
- -** Material UI :Utility-first CSS framework for styling.
- Axios: Promise-based HTTP client for the browser.
- Jest: JavaScript testing framework.
- music-player-frontend/ ├── public/
├── src/
│ ├── components/
│ ├── redux/
│ ├── App.js
│ ├── index.js
├── package.json
└── README.md
cd music-player-backend
- Navigate to the back end directory:
cd your-repo/backend
- Build the project using Maven:
./mvnw clean install
- Run the application:
./mvnw spring-boot:run
- src/main/java/com/yourusername/yourproject/:
- controller/: REST controllers handling HTTP requests.
- service/: Business logic and services.
- dao/: Data access objects (repositories).
- dto/: Data Transfer Objects.
- repository/: Interfaces for database operations.
- YourApplication.java: Main Spring Boot application class.
- src/main/resources/:
- application.properties: Configuration properties.
- pom.xml: Project Object Model file for Maven dependencies.
POST /api/music/upload
: Uploads a music file and extracts metadata.GET /api/music/{id}
: Retrieves metadata of a music file by ID.
Edit the application.properties
file for database and server configuration.
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/yourdb
spring.datasource.username=root
spring.datasource.password=yourpassword
music-player-backend/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ ├── com/
│ │ │ │ ├── yourusername/
│ │ │ │ │ ├── controller/
│ │ │ │ │ ├── service/
│ │ │ │ │ ├── dao/
│ │ │ │ │ ├── dto/
│ │ │ │ │ ├── repository/
│ │ │ │ │ └── YourApplication.java
│ │ ├── resources/
│ │ │ └── application.properties
│ └── test/
├── target/
├── pom.xml
└── README.md