A lightweight, modern website to track homebrew games for classic gaming consoles including Sega Mega Drive, Super Nintendo, Master System, and NES.
- Modern Design: Clean, responsive interface inspired by contemporary game databases
- System Navigation: Hover-based dropdown menus for easy system and status filtering
- Infinite Scroll: Load games progressively as you scroll (9 games per load)
- GitHub Integration: Uses GitHub as a database for easy content management
- Lightweight: No external frameworks, pure HTML/CSS/JavaScript
- Mobile Responsive: Optimized for all screen sizes
homebrew-games-website/
├── index.html # Main HTML structure
├── styles.css # Modern CSS with hover effects and responsive design
├── app.js # JavaScript for navigation and infinite scroll
├── assets/
│ ├── games/ # Game cover images
│ ├── systems/ # Console system images
│ └── placeholder.svg # Fallback image for missing covers
├── data/
│ └── games.json # Game database in JSON format
└── README.md # This file
Games are stored in data/games.json
with the following structure:
{
"system-name": {
"released": [
{
"id": "unique-id",
"title": "Game Title",
"developer": "Developer Name",
"year": 2023,
"cover": "assets/games/game-cover.jpg",
"buyUrl": "https://store-link.com",
"description": "Game description",
"genre": "Genre",
"tags": ["tag1", "tag2"]
}
],
"unreleased": [...]
}
}
- Add game cover image to
assets/games/
- Update
data/games.json
with game information - Commit changes to GitHub
The website includes a GitHubDataManager
class for fetching data directly from your GitHub repository:
const dataManager = new GitHubDataManager('your-username', 'your-repo');
const games = await dataManager.fetchGamesData();
This website is configured for automatic deployment to GitHub Pages:
- Push to GitHub: Push your repository to GitHub
- Enable Pages: Go to Settings > Pages in your GitHub repo
- Select Source: Choose "GitHub Actions" as the source
- Automatic Deployment: The site will automatically deploy on every push to main branch
Your site will be available at: https://yourusername.github.io/repository-name
Deploy to other static hosting services:
- Netlify: Connect your GitHub repo for automatic deployment
- Vercel: Import your GitHub project
- Traditional Web Hosting: Upload files via FTP
# Simple Python server
python -m http.server 8000
# Node.js server
npx http-server
# PHP built-in server
php -S localhost:8000
- Update navigation in
index.html
- Add system data to
games.json
- Add system image to
assets/systems/
- Update CSS if needed for new system names
All styles are in styles.css
with CSS custom properties for easy theming:
:root {
--primary-bg: #0a0a0a;
--accent-color: #ff6b35;
/* ... more variables */
}
- Images use lazy loading
- Infinite scroll prevents loading all games at once
- CSS animations use GPU acceleration
- Minimal JavaScript footprint
- Modern browsers (Chrome, Firefox, Safari, Edge)
- IE11+ (with some feature degradation)
- Mobile browsers
This project is open source. Feel free to use and modify for your own homebrew game collections.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
For game submissions, please ensure:
- High-quality cover art (300x400px recommended)
- Accurate game information
- Working purchase/download links