Groupie Trackers is a web-based application that consumes data from an API containing information about various artists, their concert locations, dates, and relations between these data points. The site is designed to display the information in a user-friendly way using different visualization methods (e.g., cards, tables). This project involves handling client-server interactions, where events or actions trigger communication with the server to fetch and display dynamic information.
Additionally, the project includes a search bar feature that allows users to search for artists, band members, concert locations, first album dates, and creation dates. The search functionality is case-insensitive and provides real-time typing suggestions, displaying the relevant category of the search result (e.g., "Freddie Mercury -> member").
This version of the project has been enhanced with geolocalization features, converting it into a Single Page Application (SPA) that maps concert locations of artists/bands by converting addresses to geographic coordinates.
- Artists Information: Display artist details such as names, images, years active, debut album dates, and members.
- Concert Locations: Show past and upcoming concert locations for the artists.
- Concert Dates: List dates of past and upcoming concerts.
- Relations: Link and combine artists, locations, and dates to provide a comprehensive view.
- Search Bar: A functional search bar allowing users to search for:
-
Artist/Band name
-
Members
-
Locations
-
First album date
-
Creation date
-
The search input is case-insensitive and provides real-time typing suggestions. Each suggestion displays the type of search case identified (e.g., "Freddie Mercury -> member").
-
Geolocalization: Concert locations are mapped using geographic coordinates, allowing users to visualize where artists have performed on an interactive map.
This project implements a client-server feature where events trigger actions on the client side that send requests to the server and receive responses. An example of this could be displaying specific artist information when a user selects an artist from the list, which then sends a request to the server to fetch detailed data about that artist.
- Artists: https://groupietrackers.herokuapp.com/api/artists
- Locations: https://groupietrackers.herokuapp.com/api/locations
- Dates: https://groupietrackers.herokuapp.com/api/dates
- Relation: https://groupietrackers.herokuapp.com/api/relation
To run the Program, you'll need to have Go installed on your system. After that, follow these steps:
-
Clone the Repository:
git clone https://learn.zone01kisumu.ke/git/steodhiambo/groupie-tracker-geolocalization.git
-
Navigate to the Project Directory:
cd groupie-tracker-geolocalization
-
Run the Project:
go run ./cmd
-
Open the site in a browser to view and interact with the artist data.
-
To access the Single Page Application with geolocalization features, navigate to
/spa
in your browser (e.g.,http://localhost:8080/spa
).
We welcome contributions to project! To contribute, follow these steps:
- Fork the repository.
- Create a new branch (git checkout -b feature/your-feature-name).
- Make your changes and commit them (git commit -m 'Add some feature').
- Push to the branch (git push origin feature/your-feature-name).
- Open a pull request.
This project is licensed under the MIT License.