https://cs-2-hub-five.vercel.app
https://cs2hub-backend.onrender.com
https://github.com/Veekshith18/CS2HUB
- Overview
- Features
- Screenshots
- Tech Stack
- Project Architecture
- Request Flow
- API Endpoints
- Engineering Highlights
- Challenges
- Running Locally
- Future Improvements
- Developer
CS2Hub is a full-stack Counter-Strike 2 esports analytics platform inspired by professional esports websites like HLTV and VLR.gg.
It provides users with:
- Upcoming match schedules
- Match results
- Team rankings
- Team profiles
- Player profiles
- Tournament information
- Global search
- Responsive UI
The project uses an Express.js backend to securely communicate with the PandaScore API while keeping API keys hidden from the client.
To improve backend efficiency, server-side caching using node-cache has been implemented, reducing redundant API requests and improving response time.
| Feature | Status |
|---|---|
| Upcoming Matches | โ |
| Match Results | โ |
| Team Rankings | โ |
| Team Profiles | โ |
| Player Profiles | โ |
| Tournament Pages | โ |
| Match Details | โ |
| Global Search | โ |
| Responsive Design | โ |
| Express.js Backend Proxy | โ |
| Secure Environment Variables | โ |
| Server-side Response Caching | โ |
- HTML5
- CSS3
- JavaScript (ES6)
- Fetch API
- Node.js
- Express.js
- node-cache
- PandaScore API
- Vercel
- Render
- Git
- GitHub
CS2Hub
โ
โโโ backend
โ โโโ server.js
โ โโโ package.json
โ โโโ prisma/
โ โโโ .env
โ โโโ .gitignore
โ
โโโ css
โ โโโ style.css
โ
โโโ js
โ โโโ script.js
โ
โโโ screenshots
โ
โโโ index.html
โ
โโโ README.md
Browser
โ
โผ
Frontend (HTML/CSS/JavaScript)
โ
Fetch API
โผ
Express.js Backend
โ
Check Cache
โ
โโโ Cache Hit
โ โ
โ โผ
โ Return Cached JSON
โ
โโโ Cache Miss
โ
โผ
PandaScore API
โ
โผ
Store Response in Cache
โ
โผ
Return JSON to Frontend
โ
โผ
Update UI
| Endpoint | Description |
|---|---|
| GET /api/upcoming | Upcoming matches |
| GET /api/results | Match results |
| GET /api/teams | Teams list |
| GET /api/players | Players list |
| GET /api/team/:id | Team details |
| GET /api/match/:id | Match details |
- Built a secure Express.js backend proxy to protect PandaScore API credentials.
- Implemented server-side response caching using node-cache to reduce redundant API requests and improve backend performance.
- Developed reusable UI components for matches, players, teams, and tournaments.
- Implemented asynchronous API communication using Fetch API.
- Designed a fully responsive user interface for desktop and mobile devices.
- Organized frontend and backend into modular components for maintainability.
- Deployed the frontend on Vercel and backend on Render.
- Protecting API keys from exposure in the frontend.
- Handling PandaScore API rate limits.
- Implementing server-side caching for improved performance.
- Managing asynchronous API requests and error handling.
- Building reusable UI components across multiple pages.
- Ensuring responsive layouts across different screen sizes.
git clone https://github.com/Veekshith18/CS2HUB.gitcd backend
npm installPANDASCORE_TOKEN=YOUR_PANDASCORE_API_KEYnpm startOpen index.html using Live Server or any browser.
- User authentication
- Favorite teams and players
- Match notifications
- Historical player analytics
- Redis-based distributed caching
- Dark/Light mode
- Advanced tournament analytics
- Additional esports titles
Swarnapudi Veekshith
- GitHub: https://github.com/Veekshith18
- LinkedIn: (Add your LinkedIn URL here)
If you found this project useful, consider giving it a โญ on GitHub!








