Skip to content

About

A comprehensive web toolkit featuring 12+ useful utilities for developers and daily tasks (PDF Splitter, PWA Gen, JSON Formatter). Built with Node.js, Express, and TailwindCSS

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

38 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ› οΈ Leviro Utils

Version License Node PRs Welcome

A powerful collection of developer and daily utility tools built with performance and usability in mind.

Features β€’ Demo β€’ Installation β€’ Usage β€’ Contributing


✨ Features

πŸ“… Age Calculator

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

πŸ”— Demo

You can try it from here πŸ‘‰ πŸ”— Demo

πŸ’± Currency Converter

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

πŸ” Secret Generator

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

🌍 World Info

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

πŸš€ Tech Stack

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

πŸ“‹ Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (version 16.0.0 or higher)
  • npm (usually comes with Node.js)
  • Git

πŸ”§ Installation

1. Clone the Repository

git clone https://github.com/Abdodiab2005/leviro-utils.git
cd leviro-utils

2. Install Dependencies

npm install

3. Build TailwindCSS

npm run build:css

4. Start the Server

npm start

5. Access the Application

Open your browser and navigate to:

http://localhost:3000

🎯 Usage

Development Mode

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

Production Mode

# Build optimized CSS
npm run build:css

# Start production server
npm start

Available Scripts

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

πŸ“± PWA Installation

Leviro Utils is a fully installable Progressive Web App:

  1. Open the app in your browser
  2. Look for the "Install" prompt or click the install icon in the address bar
  3. Follow the installation prompts
  4. Access the app from your home screen or applications menu

πŸ”’ Security Features

  • Rate limiting on sensitive endpoints
  • bcrypt password hashing
  • CORS protection
  • Input validation and sanitization
  • Secure headers configuration

🌐 API Endpoints

Currency Converter

GET  /currency           - Currency converter page
POST /currency/convert   - Convert currencies
GET  /currency/rates     - Get latest exchange rates

Secret Generator

GET  /secret            - Secret generator page
POST /secret/generate   - Generate new secret (rate limited)

World Info

GET  /world             - World info homepage
GET  /world/countries   - List all countries
GET  /world/country/:id - Get country details
GET  /world/search      - Search locations

🀝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  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

Development Guidelines

  • Follow the existing code style
  • Write meaningful commit messages
  • Test your changes thoroughly
  • Update documentation as needed

πŸ› Bug Reports

Found a bug? Please open an issue with:

  • Clear description of the bug
  • Steps to reproduce
  • Expected behavior
  • Screenshots (if applicable)
  • Your environment details

πŸ“ License

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

πŸ‘¨β€πŸ’» Author

Abdo Diab

πŸ™ Acknowledgments

πŸ“Š Project Stats

GitHub stars GitHub forks GitHub watchers


⭐ If you find this project useful, please consider giving it a star! ⭐

Made with ❀️ by Abdo Diab

About

A comprehensive web toolkit featuring 12+ useful utilities for developers and daily tasks (PDF Splitter, PWA Gen, JSON Formatter). Built with Node.js, Express, and TailwindCSS

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages