A powerful collection of developer and daily utility tools built with performance and usability in mind.
Features β’ Demo β’ Installation β’ Usage β’ Contributing
Calculate your exact age with precision down to days. Get detailed breakdowns including:
- Years, months, weeks, and days
- Total days lived
- Next birthday countdown
- Zodiac sign information
You can try it from here π π Demo
Real-time currency conversion powered by the latest exchange rates:
- Support for 150+ world currencies
- Searchable dropdown with country flags
- Auto-updating exchange rates
- Bi-directional conversion
- Historical rate tracking
Generate secure, cryptographically random secrets for your applications:
- Customizable length and complexity
- Built-in bcrypt hashing
- Rate limiting for security (5 requests per minute)
- Copy to clipboard functionality
- Secure password generation
Explore comprehensive geographical data:
- 195+ countries with detailed information
- States and provinces data
- Cities database with population info
- Advanced search and filtering
- ISO codes, currencies, and languages
- Capital cities and time zones
| Category | Technology |
|---|---|
| Runtime | Node.js (β₯16.0.0) |
| Framework | Express.js |
| View Engine | EJS (Embedded JavaScript) |
| Styling | TailwindCSS v4.1 |
| Database | SQLite (better-sqlite3) |
| PWA | Service Worker, Web Manifest |
| Security | bcrypt, express-rate-limit |
| API | RESTful architecture |
Before you begin, ensure you have the following installed:
- Node.js (version 16.0.0 or higher)
- npm (usually comes with Node.js)
- Git
git clone https://github.com/Abdodiab2005/leviro-utils.git
cd leviro-utilsnpm installnpm run build:cssnpm startOpen your browser and navigate to:
http://localhost:3000
For active development with auto-reloading CSS:
# Terminal 1: Watch CSS changes
npm run watch:css
# Terminal 2: Run the server (with nodemon for auto-restart)
npm run dev# Build optimized CSS
npm run build:css
# Start production server
npm start| Script | Description |
|---|---|
npm start |
Start the production server |
npm run dev |
Start development server with nodemon |
npm run build:css |
Build TailwindCSS for production |
npm run watch:css |
Watch and rebuild CSS on changes |
Leviro Utils is a fully installable Progressive Web App:
- Open the app in your browser
- Look for the "Install" prompt or click the install icon in the address bar
- Follow the installation prompts
- Access the app from your home screen or applications menu
- Rate limiting on sensitive endpoints
- bcrypt password hashing
- CORS protection
- Input validation and sanitization
- Secure headers configuration
GET /currency - Currency converter page
POST /currency/convert - Convert currencies
GET /currency/rates - Get latest exchange rates
GET /secret - Secret generator page
POST /secret/generate - Generate new secret (rate limited)
GET /world - World info homepage
GET /world/countries - List all countries
GET /world/country/:id - Get country details
GET /world/search - Search locations
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Follow the existing code style
- Write meaningful commit messages
- Test your changes thoroughly
- Update documentation as needed
Found a bug? Please open an issue with:
- Clear description of the bug
- Steps to reproduce
- Expected behavior
- Screenshots (if applicable)
- Your environment details
This project is licensed under the ISC License - see the LICENSE file for details.
Abdo Diab
- GitHub: @Abdodiab2005
- Project Link: https://github.com/Abdodiab2005/leviro-utils
- Currency exchange rates provided by Exchange Rate API
β If you find this project useful, please consider giving it a star! β
Made with β€οΈ by Abdo Diab