← All tools

Chanindhu/numerology-analyzer-java

Popularity 70 Updated Development & Build

Java command-line numerology analyzer with birth-date validation, Life Path Number calculation, generation detection, and assertion-based tests.

githubauto-collected

Installation

A directly usable install command is not verified yet. Check the project documentation or releases.

Numerology Analyzer Java

A Java command-line application that performs birth-date based numerology analysis. The project calculates a user's Life Path Number, identifies the matching lucky colour, checks whether the result is a master number, identifies the user's generation, and compares Life Path Numbers for two people.

Overview

This project demonstrates basic software engineering practices using Java, including modular design, input validation, command-line interaction, and test implementation using Java assertions. It was originally developed as an academic software engineering project and later cleaned, refactored, and documented for portfolio presentation.

Reviewer Quick Scan

  • What it demonstrates: Java fundamentals, validation logic, date edge cases, modular calculation code, and assertion-based testing.
  • Best files to inspect first: src/Numerology.java, test/NumerologyTest.java, and docs/sample-output.txt.
  • How to verify it: compile the source and run java -ea -cp out NumerologyTest to execute the assertion-based checks.

Features

  • Calculate Life Path Number from a valid birth date
  • Identify lucky colour based on Life Path Number
  • Detect master numbers: 11, 22, and 33
  • Identify generation based on birth year
  • Compare two people's Life Path Numbers
  • Accept month input as either a number or a month name
  • Validate day, month, year, and leap-year inputs
  • Includes assertion-based test cases for key functions

Tech Stack

| Category | Technology | |---|---| | Language | Java | | Application Type | Command-line application | | Testing | Java assertions | | Concepts | Modularity, validation, black-box testing, white-box testing |

Proof and Review Evidence

| Evidence | Where to inspect it | What it proves | |---|---|---| | Core calculation logic | src/Numerology.java | The Life Path Number, lucky colour, generation, and comparison logic are separated from the CLI. | | CLI entry point | src/Main.java | User interaction and input flow are visible in a small entry-point file. | | Assertion tests | test/NumerologyTest.java | Validation and calculation scenarios are covered with runnable Java assertions. | | Sample output | docs/sample-output.txt | Reviewers can inspect representative CLI output without running the app first. |

Project Structure

numerology-analyzer-java/
|-- src/
|   |-- Main.java                             # Command-line menu and input flow
|   `-- Numerology.java                       # Calculation and validation logic
|-- test/
|   `-- NumerologyTest.java                   # Assertion-based tests
|-- docs/
|   `-- sample-output.txt                     # Captured CLI output
|-- .gitignore
`-- README.md

Getting Started

Prerequisites

Make sure Java is installed: