- Visit: bandvenuereview.netlify.app
- Browse Venues: Explore Irish music venues across Dublin, Cork, and Galway
- Admin Access: Click "๐ ๏ธ Admin" and login with:
- Email:
admin@bandvenuereview.ie - Password:
admin123
- Email:
- Test Features: Try venue management, user verification, and review moderation
# Clone the repository
git clone https://github.com/dmoriart/band-review-website.git
cd band-review-website
# Backend setup
cd backend
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
python app_simple.py # Starts on http://localhost:5000
# Frontend setup (new terminal)
cd frontend
npm install
npm start # Starts on http://localhost:3000- React 18+ with TypeScript for type safety
- Custom CSS with responsive design and dark theme
- Fetch API for backend communication
- React Hooks for state management
- Component Architecture with modular design
- Flask 3.1.1 with Python 3.11+
- SQLAlchemy ORM for database operations
- SQLite for data persistence
- CORS for cross-origin requests
- Custom Authentication with admin decorators
- Netlify: Frontend hosting with auto-deployment
- Render.com: Backend hosting with zero-downtime deployment
- GitHub: Version control with automatic CI/CD
- Custom Domain: Professional domain setup ready
GET /api/health # API health check
GET /api/venues # List all venues (paginated)
GET /api/venues/<id> # Get specific venue details
GET /api/genres # List music genres
GET /api/debug # System debug information
POST /api/auth/login # Admin authentication
GET /api/admin/stats # Dashboard statistics
GET /api/admin/venues # Venue management interface
PUT /api/admin/venues/<id> # Update venue information
DELETE /api/admin/venues/<id> # Delete venue
GET /api/admin/users # User management interface
PUT /api/admin/users/<id> # Update user information
GET /api/admin/reviews # Review moderation interface
DELETE /api/admin/reviews/<id> # Delete review
- Mobile-First: Optimized for smartphones and tablets
- Desktop Enhanced: Rich experience on larger screens
- Touch-Friendly: Large buttons and touch targets
- Fast Loading: Optimized assets and lazy loading
- Dark Theme: Professional dark color scheme
- Glassmorphism: Modern glass-like UI effects
- Irish Branding: ๐ฎ๐ช themed with cultural elements
- Accessibility: High contrast and readable fonts
- Intuitive Menu: Clear navigation between sections
- Admin Toggle: Easy access to admin panel
- Breadcrumbs: Clear location awareness
- Mobile Menu: Responsive navigation for small screense Site](https://img.shields.io/badge/Live%20Site-bandvenuereview.netlify.app-success?logo=netlify)](https://bandvenuereview.netlify.app)
Ireland's premier platform for bands to review live music venues ๐ฎ๐ช
A comprehensive full-stack web application where Irish bands and artists can discover and share experiences about live music venues across the country. From grassroots pubs to major arenas, get the inside story from the musicians who've played there.
- Website: bandvenuereview.netlify.app
- API: band-review-website.onrender.com
- Admin Panel: Click "๐ ๏ธ Admin" โ Login:
admin@bandvenuereview.ie/admin123
- Discover Irish Venues: Browse 5 real venues across Dublin, Cork, and Galway
- Venue Details: Capacity, genre preferences, facilities, and contact information
- Rating System: View average ratings from fellow musicians
- Search & Filter: Find venues by location, genre, and capacity
- Venue Profiles: Detailed venue information and facilities
- Verification System: Get verified status for credibility
- Genre Matching: Connect with bands that match your venue style
- Dashboard: Real-time statistics and activity monitoring
- Venue Management: Verify, edit, and moderate venue listings
- User Management: Verify user accounts and manage permissions
- Review Moderation: Remove inappropriate or fake reviews
- Responsive Design: Works perfectly on mobile and desktop
Frontend (React + TypeScript) Backend (Flask + SQLAlchemy) Database (SQLite)
โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Netlify Hosting โ โโโโโบโ Render.com Hosting โ โโโโโบโ Production DB โ
โ โ โ โ โ โ
โ โข React Components โ โ โข REST API Routes โ โ โข Venues โ
โ โข Admin Panel โ โ โข Admin Endpoints โ โ โข Users โ
โ โข Authentication โ โ โข Authentication โ โ โข Reviews โ
โ โข Responsive Design โ โ โข CORS Configuration โ โ โข Genres โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
```eReview.ie
[](https://github.com/dmoriart/band-review-website)
[](LICENSE)
[](https://reactjs.org/)
[](https://flask.palletsprojects.com/)
[](https://www.typescriptlang.org/)
[](https://www.postgresql.org/)
**Ireland's premier platform for bands to review live music venues**
A comprehensive web application where Irish bands and artists can share their experiences performing at venues across the country. From grassroots pubs to major arenas, get the inside story from the musicians who've played there.
## ๐๏ธ **Project Structure**
band-review-website/ # Full-Stack Irish Music Platform โโโ frontend/ # React TypeScript App (Netlify) โ โโโ src/ โ โ โโโ App.tsx # Main application + routing โ โ โโโ AdminPanel.tsx # Complete admin interface โ โ โโโ App.css # Responsive styling + admin theme โ โโโ public/ โ โ โโโ api-test.html # API testing interface โ โโโ package.json # React dependencies โโโ backend/ # Flask API Server (Render.com) โ โโโ app_simple.py # Production Flask app โ โโโ models.py # SQLAlchemy database models โ โโโ auth.py # Authentication & admin decorators โ โโโ config.py # Environment configuration โ โโโ requirements.txt # Python dependencies โ โโโ bandvenuereview.db # SQLite production database โโโ TECHNICAL_DOCS.md # Comprehensive technical documentation โโโ DEPLOYMENT.md # Deployment guides โโโ README.md # This file
## ๐ฏ **Current Capabilities**
### โ
**Fully Implemented**
- **Live Production Deployment**: Both frontend and backend deployed and working
- **Irish Venue Database**: 5 real venues (Whelan's, Cyprus Avenue, Button Factory, Monroe's, Workman's Club)
- **Responsive Web Design**: Mobile-first approach with glassmorphism effects
- **Admin Panel**: Complete management interface with authentication
- **API Health Monitoring**: Real-time backend status tracking
- **Error Handling**: Comprehensive error management and user feedback
- **CORS Configuration**: Proper cross-origin resource sharing setup
### ๐ ๏ธ **Admin Panel Features**
- **Dashboard**: Real-time statistics (venues, users, reviews)
- **Venue Management**: CRUD operations, verification system
- **User Management**: Account verification and role management
- **Review Moderation**: Delete inappropriate content
- **Search & Filter**: Advanced filtering across all data types
- **Responsive Design**: Works on all devices and screen sizes
### ๏ฟฝ **User Features**
- **Venue Discovery**: Browse Irish music venues with detailed information
- **Venue Details**: Capacity, genres, facilities, contact information
- **Rating Display**: Average ratings and review counts
- **Location Information**: City, county, and address details
- **Genre Filtering**: Filter venues by music style preferences
- **Connect with touring acts** looking for venues
- **Build reputation** through band reviews
- **Highlight your strengths** in the Irish music scene
### ๐ฎ๐ช Irish Focus
- **Comprehensive coverage** of venues across all 32 counties
- **Local insights** from the Irish music community
- **Support for traditional** and contemporary music venues
- **Focus on the unique** Irish live music landscape
## ๐ Quick Start
### Prerequisites
- **Python 3.7+** - Download from [python.org](https://www.python.org/)
- **Node.js 14+** - Download from [nodejs.org](https://nodejs.org/)
- **Git** - Download from [git-scm.com](https://git-scm.com/)
### 1. Clone and Setup
```bash
# Clone the repository
git clone https://github.com/dmoriart/band-review-website.git
cd band-review-website
# Navigate to backend directory
cd backend
# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Start the Flask server
python app.pyThe backend will be running at: http://localhost:5000
GET /api/hello- Test connectivityGET /api/bands- Get all bandsGET /api/bands/<id>- Get specific bandGET /api/health- Health check
# Open a new terminal and navigate to frontend directory
cd frontend
# Install dependencies
npm install
# Start the React development server
npm startThe frontend will be running at: http://localhost:3000
-
Terminal 1 - Backend:
cd backend source venv/bin/activate python app.py
-
Terminal 2 - Frontend:
cd frontend npm start
- Backend changes: Edit files in
backend/- Flask auto-reloads in debug mode - Frontend changes: Edit files in
frontend/src/- React hot-reloads automatically
This project is configured for easy deployment to Render.com with Gunicorn as the WSGI server.
- Connect your GitHub repository to Render.com
- The
render.yamlfile will automatically configure the deployment - Environment variables are pre-configured for production
- Create a new Web Service on Render.com
- Connect your GitHub repository
- Configure the service:
- Environment: Python 3
- Build Command:
cd backend && pip install -r requirements.txt - Start Command:
cd backend && gunicorn -c gunicorn.conf.py app:app - Environment Variables:
FLASK_ENV=productionFLASK_DEBUG=false
FLASK_ENV=production
FLASK_DEBUG=false
# Add any other environment variables as needed-
Build the React app:
cd frontend npm run build -
Deploy options:
- Drag & Drop: Upload the
build/folder to Netlify - Git Integration: Connect your repository and set build settings:
- Build Command:
cd frontend && npm run build - Publish Directory:
frontend/build
- Build Command:
- Drag & Drop: Upload the
-
Configure environment variables in Netlify:
REACT_APP_API_URL=https://your-api-service.onrender.com/api
REACT_APP_API_URL=http://localhost:5000/api # Development
REACT_APP_API_URL=https://your-api.render.com/api # Production
FLASK_ENV=development # or production
FLASK_DEBUG=True # False in production
The platform includes real venues from Ireland's vibrant music scene:
- Whelan's (Wexford Street) - Legendary independent venue, capacity 300
- Button Factory (Temple Bar) - Electronic and alternative music hub, capacity 400
- The Workman's Club (Wellington Quay) - Multi-level venue with roof terrace, capacity 180
- Cyprus Avenue (Caroline Street) - Premier Cork live music venue, capacity 250
- Monroe's Tavern (Dominick Street) - Historic pub with traditional sessions, capacity 150
Each venue includes:
- Real Contact Information: Phone numbers and websites
- Detailed Facilities: Sound systems, parking, accessibility
- Genre Preferences: Rock, indie, folk, traditional, electronic
- Capacity Information: Accurate venue sizes
- Location Details: Full addresses with Eircode where available
- Token-Based Authentication: Secure session management
- Route Protection: Admin-only endpoints secured
- Role-Based Access: Different permission levels
- Session Management: Secure login/logout flow
- Input Validation: All user inputs sanitized
- SQL Injection Prevention: Parameterized queries
- XSS Protection: Output encoding and sanitization
- CORS Security: Controlled cross-origin requests
- Efficient Database Queries: Optimized SQLAlchemy queries
- Pagination: Large datasets handled efficiently
- Caching Strategy: Static asset caching
- CDN Ready: Optimized for content delivery networks
- Health Checks: Real-time API monitoring
- Error Logging: Comprehensive error tracking
- Performance Metrics: Response time monitoring
- User Analytics: Usage pattern tracking
- User Registration: Band and venue owner accounts
- Review System: Detailed venue reviews by bands
- Rating System: Multi-aspect venue ratings
- Image Uploads: Venue photos and band images
- Booking Integration: Connect bands with venues
- Email Notifications: Updates and alerts
- Mobile App: Native iOS and Android applications
- PostgreSQL Migration: Scale to larger datasets
- Redis Caching: Improved performance
- JWT Authentication: Enhanced security
- API Rate Limiting: Protection against abuse
- Automated Testing: Unit and integration tests
- CI/CD Pipeline: Automated deployment
- Technical Documentation: Comprehensive code documentation
- Deployment Guide: Step-by-step deployment instructions
- API Reference: Complete API documentation
- Database Schema: Database structure and relationships
We welcome contributions to improve BandVenueReview.ie!
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- TypeScript: Use strict typing for all new code
- Documentation: Update docs for new features
- Testing: Add tests for new functionality
- Code Style: Follow existing patterns and conventions
Can't access admin panel:
- Verify credentials:
admin@bandvenuereview.ie/admin123 - Check network connection
- Ensure backend API is running
API connection errors:
- Check API status: band-review-website.onrender.com/api/health
- Verify CORS settings
- Check browser console for errors
Local development issues:
- Ensure Python virtual environment is activated
- Check if ports 3000 (frontend) and 5000 (backend) are available
- Verify all dependencies are installed
- Issues: GitHub Issues
- Documentation: Technical Docs
- Live Demo: bandvenuereview.netlify.app
This project is licensed under the MIT License - see the LICENSE file for details.
Built with โค๏ธ for the Irish music community ๐ต๐ฎ๐ช
Supporting venues, artists, and the live music scene across Ireland