CineSeer is a Go web server application that provides information about TV series, including both current and upcoming shows. It offers a clean API interface and caches images for improved performance.
- RESTful API endpoints for current and upcoming TV series
- Image caching system for optimized performance
- CORS support for cross-origin requests
- Request logging with detailed information
- Response caching with 15-minute expiration
- HTML template rendering for the frontend
- Static file serving
- Clone the repository:
git clone <repository-url>
cd CineSeer- Install dependencies:
go mod download- Create a
.envfile in the project root (see Environment Variables section)
Create a .env file in the project root with the following variables:
# Add your environment variables here
- Start the server:
go run .The server will start on http://localhost:3001
GET /- Main page with HTML templateGET /api/series- Get list of current TV seriesGET /api/upcoming-series- Get list of upcoming TV series
Static files (including cached images) are served from the /static directory and accessible via /static/* routes.
- Go 1.22 or higher
- Fiber v2
server.go- Main server setup and route handlersnew_series.go- Current series data handlingupcoming_series.go- Upcoming series data handlingcache.go- Image caching functionality/static/cache/- Cached images directory/views/- HTML templates
github.com/gofiber/fiber/v2- Web frameworkgithub.com/gofiber/template/html/v2- HTML template enginegithub.com/joho/godotenv- Environment variable management
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.