Skip to content

theonlysinjin/moon-phases

Repository files navigation

Moon Calendar

Beautiful lunar phases by city — infinite scroll calendar views and a year-at-a-glance poster.

Built with Next.js 15 and astronomy-engine (client-side generation). Optional Flask backend included but not required to run the UI.

Quick start

npm install
npm run dev

Open http://localhost:3000.

Pick a city and theme from the dropdowns. Use the viewing time slider (daily themes) or parallactic rotation checkbox (Hourly Timeline). Calendar and Lunar Cycle scroll to load more months; Poster loads a full year with year navigation.

Documentation

Full docs live in docs/:

Scripts

Command Purpose
npm run dev Development server (Turbopack)
npm run build Verify images, generate inline assets, static export → out/
npm run test Vitest (test/)
npm run poster:md / poster:csv CLI poster tables
npm run fetch:timeanddate Fetch reference phase dates from timeanddate.com
npm run spot-check Cross-year phase spot-check against fixtures

Optional backend

cd backend && pip install flask ephem flask-cors && python moon_phase_api.py

See docs/backend.md.

Learn more

About

Beautiful lunar phases by city with infinite scroll and a poster view.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages