Svelte-MiniApps
Svelte-MiniApps copied to clipboard
This project is a collection of small, single-purpose applications written in Svelte 5. Each mini-app tackles a specific task, offering a simple and user-friendly experience for users.
Svelte Mini Apps (Svelte 5 Edition)
Boost your productivity with Svelte Mini Apps - a collection of user-friendly tools rebuilt with Svelte 5 for enhanced speed and reliability!
Svelte Mini Apps is a collection of small, single-purpose applications designed for simplicity and efficiency. Originally a personal project to learn full-stack development, it has evolved into a repository of handy tools for various tasks. This version has been updated to Svelte 5 to fully leverage its speed and resolve build errors encountered during auto migration.
Table of Contents
- About 📝
- Built for Efficiency 🛠️
- Getting Started 🏁
- List of Apps 📋
- Contributing 🤝
- License 📄
- Old Version 🔙
- App Usage Tracking 📊
About 📝
Svelte Mini Apps offers tools to streamline specific tasks. Whether converting units, generating passwords, or managing to-do lists, there's a mini-app to simplify your day.
Built for Efficiency 🛠️
Svelte Mini Apps is a single Progressive Web App (PWA) featuring a collection of tools built for various web users. It enhances productivity and organization with the following features:
- Versatile Tools: Designed for different needs and difficulty levels.
- Web-Based: Built specifically for web users.
- High Performance: Fast and efficient, now with Svelte 5.
- Installable: Can be added to your device for quick access.
- Offline Capability: Works offline once accessed.
Tech Stack:
- Built with Svelte 5
- Uses Shadcn-Svelte components by Shadcn
- Uses Lucide-Svelte icons
- Uses Lordicon for animated icons
Getting Started 🏁
Prerequisites:
- Node.js and npm (or another package manager).
- PostgreSQL database (for production)
Explore the Mini-Apps:
To explore the Mini-Apps, fork the repository, clone your fork, and run the development server.
-
Fork the repository on GitHub.
-
Clone your fork:
git clone https://github.com/your-username/Svelte-MiniApps.git cd Svelte-MiniApps -
Install dependencies:
bun install -
Create a new branch for your contribution:
git checkout -b feature/your-feature-name -
Run the development server:
bun run dev
Note: The Vite development server runs on port 5178 instead of the traditional 5173. Access your app at http://localhost:5178.
Database Setup:
The project uses Prisma ORM for database management. Follow these steps to set up your database:
-
Copy the example environment file:
cp .env.example .env -
Update the DATABASE_URL in your
.envfile:DATABASE_URL="postgresql://user:password@localhost:5432/dbname" -
Initialize your database:
npx prisma generate # Generate Prisma Client npx prisma db push # Push schema changes to database
For development, you can use Prisma Studio to manage your data:
npm run db:studio
Important: The project has moved from SQLite to PostgreSQL for improved scalability and performance. Ensure you have PostgreSQL installed and configured locally.
How to Set Up a Local PostgreSQL Database
- Download and install PostgreSQL from the official website.
- During installation, set a username and password for the PostgreSQL superuser (e.g.,
postgres). - Once installed, open the PostgreSQL shell or a GUI tool like pgAdmin.
- Create a new database:
CREATE DATABASE mydatabase; - Update your
.envfile with the connection string:DATABASE_URL="postgresql://: @localhost:5432/mydatabase" - Test the connection by running:
npx prisma db pull
This will launch a local server and open the mini-apps in your browser.
Installable
Install Svelte Mini Apps as standalone applications for quick access:
- Open the mini-app in your browser.
- Click on the browser's menu (three dots).
- Select "Install" or "Add to Home Screen."
Live Version
Access the live version at: Svelte Mini Apps
List of Apps 📋
Explore the full list of mini-apps designed to boost your productivity. Visit svelte-apps.me/#apps for details.
App Usage Tracking 📊
Svelte Mini Apps now includes an app usage tracking feature that:
- Automatically tracks which apps you use most frequently
- Records when you last used each app
- Displays your favorite apps in your profile based on usage
- Calculates a streak based on your daily app usage
This feature automatically increments the usage count for your app each time a user visits it. Sign in and visit your profile page to see your usage statistics.
Contributing 🤝
Contributions are welcome! Fork the repository, make your changes, and submit a pull request.
Guidelines:
- Single-purpose tools: Each mini-app should focus on a specific task.
- User-friendly: Ensure each mini-app is easy to use with clear instructions.
- Clean code: Follow Svelte best practices and keep code organized.
Old Version 🔙
For those interested in the previous version of Svelte Mini Apps, it is available at the following repository:
- Svelte Mini Apps v4: Svelte-MiniApps-sv4
This version is located in the sv4.svelte-apps branch and contains the earlier implementations of the mini-apps, built with Svelte 4. Users may explore this version for reference or migration purposes.
License 📄
This project is licensed under the MIT License.
- You can freely use, modify, and distribute this software.
- You must retain the copyright and license notice in all copies.
- The full license text is in the
LICENSEfile in the repository.