I was jobless and needed to build my portfolio. Instead of starting from scratch, I took my university LMS assignment and transformed it into something other developers could actually use.
The Problem
My original project was a basic Java CLI for a class. It worked, but it was not something anyone would star on GitHub.
The Transformation
I restructured it into EduAuth, a lightweight authentication and enrollment CLI that teaches auth patterns while being genuinely useful.
What I Added
- Proper password hashing with SHA-256 and per-user salt generation
- UUID based session tokens with configurable timeout
- Role based access control (STUDENT, INSTRUCTOR, ADMIN)
- Command pattern architecture for clean CLI design
- File based JSON persistence
- 20+ JUnit 5 tests
- Maven build with executable JAR output
What I Learned
- Refactoring existing code taught me more about architecture than building from scratch
- Writing JUnit tests after the fact exposed design flaws I did not notice before
- Documentation and a clear README matter as much as the code for open source adoption
Try It Out
github.com/yuvkun10/edutech-lms-cli
If you are a student learning Java auth patterns, or you need a simple starter template for CLI authentication, give it a look. Stars and feedback are both welcome.
Top comments (0)