Music Brainz is a web application that fetches and manipulates data from a provided API to create a user-friendly website. It displays detailed information about bands and artists, showcasing various data visualizations and implementing client-server interactions to trigger actions.
- Detailed artist and band information display
- Concert location mapping
- Upcoming and past concert date listings
- Interactive data visualizations
- Client-server interactions for dynamic content updates
The API consists of four main parts:
-
Artists: Includes details about the bands or artists, such as:
- Name(s)
- Image
- Year they began activity
- First album release date
- Band members
-
Locations: Contains the last and/or upcoming concert locations.
-
Dates: Contains the last and/or upcoming concert dates.
-
Relations: Links the data between artists, dates, and locations.
- Backend: Go
- Frontend: HTML, CSS, JavaScript
- Data Format: JSON (for API data manipulation and storage)
- Go 1.x or higher
- Web browser (Chrome, Firefox, Safari, etc.)
- Clone the repository:
git clone https://github.com/yourusername/music-brainz.git
- Navigate to the project directory:
cd music-brainz
- Install dependencies:
go mod tidy
- Start the server:
go run main.go
- Open a web browser and navigate to
http://localhost:8080
(or whatever port you've configured)
music-brainz/
├── main.go
├── api/
│ ├── client.go
├── config/
│ ├── config.go
├── funcs/
│ ├── func.sgo
├── handlers/
│ ├── aboutUs.go
│ ├── artist.go
│ ├── location.go
│ └── date.go
├── static/
│ ├── css/
│ │ └── styles.css
│ └── templates/
│ ├── about.html
│ ├── index.html
│ └── artist.html
└──README.md
/api/artists
: Get all artists/api/artists/{id}
: Get a specific artist/api/locations
: Get all concert locations/api/dates
: Get all concert dates
Contributions are welcome! Here's how you can contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature
) - Make your changes
- Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Please ensure your code adheres to the existing style and includes appropriate tests.
This project is licensed under the MIT License. See the LICENSE file for details.
- Mehdi - Project creator and developer
- Thanks to the Music Brainz API for providing the data
- Inspiration from similar music information platforms
-
Mehdi - ig := [@mehdim_dev]
-
Discord-profile := [https://discord.com/users/720655054834630676]
-
Project Link: [https://github.com/mehdi/music-brainz]