Skip to content

About

🎡 Concert discovery web app. Browse artists, explore tour dates, and find shows worldwide. Built with Go.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

65 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Groupie Tracker

A web-based Go application that visually presents data from a RESTful music artist API. Groupie Tracker displays artist profiles, their members, debut dates, and upcoming tour locations through a clean interface. The project is fully modular, combining Go’s powerful backend capabilities with HTML, CSS, and JavaScript for a dynamic frontend.

Table of Contents

  1. πŸ“ About
  2. πŸ“ File Structure
  3. ✨ Features
  4. πŸš€ Usage Instructions
  5. 🌐 Live Demo
  6. πŸ”­ Future Plans
  7. 🀝 Contributions
  8. πŸ™ Acknowledgements
  9. πŸ“„ License

πŸ“ About

Groupie Tracker is a music-focused web application that fetches and displays data from a third-party API to showcase artists, their members, debut albums, and upcoming tour dates. The project helped me understand how to consume and integrate public APIs, develop a Go backend that communicates with a REST API and display said data, and design a responsive user interface using templating and static assets. It mimics a booking-style showcase for bands/artists and serves as a foundation for future feature-rich web apps.

πŸ“ File Structure

.
β”œβ”€β”€ README.md
β”œβ”€β”€ assets # Static frontend assets
β”‚   β”œβ”€β”€ css # page styling
β”‚   β”‚   β”œβ”€β”€ about.css
β”‚   β”‚   └── index-css # Component-specific CSS files
β”‚   β”‚       β”œβ”€β”€ index_banner.css
β”‚   β”‚       β”œβ”€β”€ index_button.css
β”‚   β”‚       β”œβ”€β”€ index_card_content.css
β”‚   β”‚       β”œβ”€β”€ index_card_layout.css
β”‚   β”‚       β”œβ”€β”€ index_footer.css
β”‚   β”‚       └── index_header.css
β”‚   β”œβ”€β”€ images # Image assets
β”‚   β”‚   β”œβ”€β”€ 01_founders_logo.jpeg
β”‚   β”‚   β”œβ”€β”€ github.png
β”‚   β”‚   β”œβ”€β”€ guitar.jpg
β”‚   β”‚   β”œβ”€β”€ guitarist.jpg
β”‚   β”‚   β”œβ”€β”€ headphones_icon.jpg
β”‚   β”‚   β”œβ”€β”€ html_black_tag.jpg
β”‚   β”‚   β”œβ”€β”€ html_tag.jpg
β”‚   β”‚   β”œβ”€β”€ json_icon.jpg
β”‚   β”‚   β”œβ”€β”€ music_note_clipart.png
β”‚   β”‚   β”œβ”€β”€ singer.jpg
β”‚   β”‚   └── wallpaper.jpg
β”‚   └── js # Javascript for interactivity
β”‚       └── script.js
β”œβ”€β”€ cmd # Main server entry point and program command
β”‚   └── main.go
β”œβ”€β”€ go.mod
β”œβ”€β”€ handlers # Route logic
β”‚   β”œβ”€β”€ about.go
β”‚   β”œβ”€β”€ index.go
β”‚   β”œβ”€β”€ templates.go
β”‚   └── tourdates.go
β”œβ”€β”€ internal # Internal API fetching logic
β”‚   └── fetch.go
β”œβ”€β”€ models # Structs and shared data
β”‚   └── artist.go
└── templates # HTML files rendered to the user
    β”œβ”€β”€ about.html
    β”œβ”€β”€ index.html
    └── tour-dates.html

11 directories, 31 files

✨ Features

  • 🎸 Displays band/artist profiles, members, and debut info
  • πŸ“ View a list of upcoming concert/tour dates
  • 🌐 Fully functional web interface powered by Go’s net/http
  • 🧩 Modular structure with separation of concerns (handlers, models, internal logic)
  • 🎨 Clean frontend layout using CSS and responsive image assets

πŸš€ Usage Instructions

πŸ“¦ Clone the Repository

Clone the repository to your local machine:

git clone https://github.com/IbsYoussef/Groupie-Tracker.git
cd groupie-tracker

▢️ Run the web app

go run ./cmd

Visit http://localhost:8080 to view the application in your browser.

🌐 Live Demo

πŸ”— groupie-tracker-b9ur.onrender.com

⚠️ Note: This project is hosted on Render’s free tier. After 15 minutes of inactivity, the server may spin down. You may experience a short delay (up to ~30 seconds) when visiting the site while it boots back up.

πŸ”­ Future Plans

Here are a few enhancements I plan to add in future updates:

  • πŸ—ƒοΈ Filtering search feature: Allow users to filter artist data

  • 🌍 Geolocalisation: Display concert locations on a visual map

  • πŸ”Ž Search text input functionality: Allows users to search for specific text input or artist data

🀝 Contributions

Contributions are welcome! If you'd like to help improve Groupie Tracker, please follow these steps:

  1. Fork the Repository:
    Click the "Fork" button at the top-right of the repository page to create your own copy of the project.

  2. Create a New Branch:
    Create a new branch for your feature or bug fix:

     git checkout -b feature-or-bugfix-description
  3. Make your Changes: Implement your changes and ensure that your code adheres to the project's style guidelines. Tip: Write or update tests as needed.

  4. Commit and Push your Changes: Commit your changes with a clear, descriptive message and push your branch to your forked repository:

    git commit -m "Add: description of your changes"
    git push origin feature-or-bugfix-description
  5. Open a Pull Request: Open a pull request (PR) from your branch to the main repository. Please include a clear description of your changes and the motivation behind them. If you're not sure about a major change, open an issue first to discuss your ideas.

Thank you for helping make ascii-art-web even better!

πŸ™ Acknowledgements

  • Created as part of my Go learning journey at 01 Founders

πŸ“„ License

This project is licensed under the MIT License.

About

🎡 Concert discovery web app. Browse artists, explore tour dates, and find shows worldwide. Built with Go.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages