Skip to content

h9812/lunivn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LuniVN Calendar

A minimalist desktop calendar application displaying both Gregorian and Vietnamese lunar calendar dates.

License

Features

  • πŸ“… Dual Calendar Display - View both solar (Gregorian) and lunar (Vietnamese) dates simultaneously
  • πŸŒ™ Accurate Lunar Calculations - Based on authentic Vietnamese lunar calendar algorithm
  • 🎨 VSCode-Inspired Design - Clean, modern interface with dark theme
  • 🌐 Bilingual Support - Switch between English and Vietnamese
  • πŸ” Smart Navigation - Jump to any date (solar or lunar), navigate by month/year
  • πŸ–₯️ Cross-Platform - Works on Windows, macOS, and Linux
  • ⚑ Lightweight - Built with vanilla JavaScript, no heavy frameworks

Screenshots

(Coming soon)

Installation

Download Pre-built Binaries

Download the latest release for your platform from the Releases page.

Build from Source

# Clone the repository
git clone https://github.com/yourusername/lunivn.git
cd lunivn

# Install dependencies
npm install

# Run the application
npm start

Usage

Viewing the Calendar

  • The calendar displays the current month by default
  • Solar dates are shown in large numbers
  • Lunar dates are shown below in smaller text
  • Today's date is highlighted with a blue background

Navigation

  • Previous/Next Month: Click the arrow buttons in the header
  • Previous/Next Year: Click the double arrow buttons
  • Today: Click the "Today" button to return to the current date
  • Jump to Date: Click "Jump to Date" to navigate to a specific solar or lunar date

Language Selection

Click the language dropdown in the top-right corner to switch between English and Vietnamese.

Building

Build the application for your platform:

# For your current platform
npm run build

# For specific platforms
npm run build:win    # Windows
npm run build:mac    # macOS
npm run build:linux  # Linux

The built application will be available in the dist folder.

Documentation

Technology Stack

  • Electron - Desktop application framework
  • Vanilla JavaScript - No heavy frameworks, just pure JS
  • CSS3 - Modern styling with CSS custom properties

Lunar Calendar Algorithm

The lunar calendar calculations are based on the Vietnamese lunar calendar system, which follows Chinese astronomical calculations adjusted for Vietnam's timezone (UTC+7).

Key features:

  • Accurate new moon calculations
  • Proper handling of leap months
  • Solar longitude calculations for month determination

For detailed algorithm documentation, see ALGORITHM.md.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Support

If you encounter any issues or have questions, please open an issue on GitHub.


Made with ❀️ for the Vietnamese community

About

A minimalist Vietnamese lunisolar calendar for desktop πŸŒ›πŸŒž

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Contributors