Oasis is a modern desktop application built with Electrobun that allows you to browse and download entire Sites (as .zim files) for offline access. Whether you're in a low-connectivity area or simply want to have your favorite resources available anytime, Oasis provides a seamless and beautiful experience for managing your local library.
- 🚀 Built with Electrobun: Lightweight and fast, leveraging the power of Bun for a superior desktop experience.
- 📚 Browse & Download: Easily find and download Sites in the
.zimformat. - 🖼️ Beautiful UI: A clean, modern interface built with React and Tailwind CSS.
- ⚡ Fast Search: Quickly find what you need within your local library.
- 📦 Workspace Architecture: Organized as a monorepo using Turbo for efficient development and builds.
- 💾 Local Storage: Your data stays on your machine, ensuring privacy and offline availability.
- Electrobun - Revolutionary desktop app framework.
- React - Frontend library for building user interfaces.
- Bun - Fast all-in-one JavaScript runtime.
- Tailwind CSS - Utility-first CSS framework.
- Drizzle ORM - TypeScript ORM for SQL databases.
- Turbo - High-performance build system.
- Bun installed.
-
Clone the repository:
git clone https://github.com/alhaymex/oasis.git cd oasis -
Install dependencies:
bun install
To start the development server:
bun run dev:hmrContributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
Please see CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
Distributed under the MIT License. See LICENSE for more information.
The desktop app now ships with a bundled local catalog and bundled SQLite migrations.
- Canonical catalog source:
catalog/catalog.json - Desktop-local staged copy used by dev/build:
apps/desktop/.generated/catalog/catalog.json Resources/app/catalog/catalog.jsonResources/app/drizzle/*
Notes:
- You do not need to manually copy the catalog into
apps/desktop. Desktop scripts stage it automatically beforedev,start,build:canary, andbuild:stable. - On first launch, Oasis runs DB migrations, seeds the bundled catalog into SQLite, and only then opens the main window.
- The installed app must not depend on the monorepo root at runtime. Files needed after packaging must be copied into desktop resources during build.
Made with ❤️ for the offline web.
