feat: initial project scaffold with CI/CD and Docker deployment
Next.js 15 + Tailwind CSS v4 week calendar showing Six Flags park hours. Scrapes the internal CloudFront API, stores results in SQLite. Includes Dockerfile (Debian/Playwright-compatible), docker-compose, and Gitea Actions pipeline that builds and pushes to the container registry. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
37
lib/scrapers/types.ts
Normal file
37
lib/scrapers/types.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
export interface Park {
|
||||
id: string;
|
||||
name: string;
|
||||
shortName: string;
|
||||
chain: "sixflags" | string;
|
||||
slug: string;
|
||||
location: {
|
||||
lat: number;
|
||||
lng: number;
|
||||
city: string;
|
||||
state: string;
|
||||
};
|
||||
timezone: string;
|
||||
website: string;
|
||||
}
|
||||
|
||||
export interface DayStatus {
|
||||
day: number;
|
||||
isOpen: boolean;
|
||||
hoursLabel?: string;
|
||||
}
|
||||
|
||||
export interface MonthCalendar {
|
||||
parkId: string;
|
||||
year: number;
|
||||
month: number;
|
||||
days: DayStatus[];
|
||||
}
|
||||
|
||||
export interface ScraperAdapter {
|
||||
readonly chain: string;
|
||||
getMonthCalendar(
|
||||
park: Park,
|
||||
year: number,
|
||||
month: number
|
||||
): Promise<MonthCalendar>;
|
||||
}
|
||||
Reference in New Issue
Block a user