SecureGen is a client-side password generator and manager designed specifically for Thai users. It leverages the "Thai-Shift" keyboard logic to convert memorable Thai phrases into complex English passwords, alongside AI-powered mnemonic generation.
Live Demo: [Link to your GitLab Pages]
- 📖 User Manual (คู่มือการใช้งาน) - Built inside the App (Click the Help/Book icon).
- 📘 Beginner Developer Manual (คู่มือนักพัฒนาฉบับเริ่มต้น) - New to coding? Start here! หากคุณเป็นนักพัฒนาหน้าใหม่ อ่านหน้านี้ก่อนครับ.
- 🛠️ Technical Design Spec - Deep dive into architecture and logic.
- 🧪 Test Specification - How to test the application.
- 🇹🇭 Thai-Shift Generator: Convert Thai phrases (e.g., "สวัสดี") into complex strings based on QWERTY key mapping.
- 🤖 AI Creative Mode: Use Google Gemini API to generate secure passwords from context/mnemonics.
- 🧠 Memory Test: Built-in tool to test if you can remember the generated password before using it.
- 🔒 Client-Side Only: Runs entirely in the browser. No data is ever sent to a server (except for AI generation prompts, which are stateless).
- 💾 Encrypted Export: Export your credentials using AES encryption for backup.
- 📱 PWA Ready: Installable on mobile and desktop.
- Node.js (v18 or higher)
- npm or yarn
-
Clone the repository
git clone https://gitlab.com/your-username/securegen.git cd securegen -
Install dependencies
npm install
-
Set up Environment Variables (Optional) If you want to use the AI features locally without entering the key in the UI every time, create a
.envfile:VITE_API_KEY=your_gemini_api_key_here
-
Run Development Server
npm run dev
Open
http://localhost:3000in your browser.
securegen/
├── public/ # Static assets (icons, manifest)
├── src/
│ ├── services/ # Core logic (Crypto, Thai Mapping)
│ ├── types.ts # TypeScript interfaces
│ ├── App.tsx # Main Component
│ └── index.tsx # Entry point
├── .gitlab-ci.yml # GitLab CI/CD Configuration
├── package.json # Dependencies & Scripts
└── README.md # Documentation
We welcome contributions! Please see CONTRIBUTING.md for details on how to submit Merge Requests and report issues.
- Zero-Knowledge Architecture: We do not store your passwords. Everything is stored in your browser's RAM and cleared when the tab is closed.
- BYOK (Bring Your Own Key): For AI features, users provide their own Gemini API keys for maximum privacy.
Presented by: SPADA Service (Nextwaver.Net Co., Ltd.)
Developer: Mr. Chatchai Limprasertsiri
Email: chatchai@nextwaver.com
Licensed under the MIT License.