Skip to content

App CMS - A Privacy-Friendly Offline App Manager on NodeJS

License

Notifications You must be signed in to change notification settings

sh20raj-dump/AppCMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

App CMS - A Privacy-Friendly Offline App Manager

Overview

App CMS is a cutting-edge platform for managing offline applications. Inspired by WordPress and its plugin system, App CMS allows users to install, run, and manage apps directly on their system. The platform is designed for privacy-conscious users and offline environments, ensuring that all data remains securely on the user's device.


Features

Core Features

  • Offline-First: Run all apps without an internet connection.
  • App Marketplace: Browse and install open-source apps built with frameworks like Next.js, React.js, Node.js, etc.
  • App Management:
    • Install, uninstall, enable, and disable apps.
    • View app metadata (version, developer info, size, etc.).
  • Custom App Creation:
    • Easily create new apps using provided boilerplates.
  • Execution Environment:
    • Apps run locally in isolated environments for security.
  • Node.js App Support:
    • Fully supports Node.js apps, making it easy to integrate server-side functionalities.

Additional Features

  • Version control for apps (auto-update or manual updates).
  • User role and permission management.
  • Resource monitoring (CPU/RAM usage per app).
  • Plugin support for extending CMS functionality.
  • Encryption for sensitive data.

Examples of Apps

  • Offline ChatGPT:
    • Use the LLaMA model to run ChatGPT-like functionalities locally without an internet connection.
  • Offline LeetCode:
    • Practice coding problems and challenges entirely offline.
  • Personal Note-Taking App:
    • A lightweight app to jot down notes and ideas securely.
  • Task Manager/Kanban Board:
    • Organize tasks and projects locally with full privacy.

Tech Stack

Frontend

  • Framework: Next.js 15 (App Router)
  • Styling: TailwindCSS
  • State Management: Zustand or React Context

Backend

  • Framework: Next.js API Routes
  • ORM: Prisma

Database

  • Default: SQLite for structured offline storage
  • Alternative: JSON files managed via fs for lightweight setups

Execution

  • Environment: Node.js child processes for app isolation

Installation

  1. Clone the repository:

    git clone https://github.com/<your-repo>/app-cms.git
    cd app-cms
  2. Install dependencies:

    npm install
  3. Run the development server:

    npm run dev
  4. Access the app at:

    http://localhost:3000
    

Usage

Marketplace

  • Browse available apps and install them with a single click.
  • Apps are downloaded and stored locally in the /apps directory.

App Management

  • Enable or disable installed apps from the dashboard.
  • View app-specific settings and metadata.

Custom Apps

  • Use the built-in wizard to generate boilerplate code for new apps.
  • Add your custom apps to the CMS for easy management.

Folder Structure

app-cms/
├── app/              # Next.js App Router structure
│   ├── dashboard/    # Dashboard pages
│   ├── marketplace/  # Marketplace pages
│   └── ...
├── prisma/           # Prisma schema
├── public/           # Static assets
├── apps/             # Installed apps directory
├── styles/           # Global styles (Tailwind)
├── package.json      # Project metadata
└── README.md         # Project documentation

Future Enhancements

  • Add a delta update system for apps to reduce re-downloading.
  • Introduce Docker-like containers for enhanced app isolation.
  • Enable community contributions to the marketplace.

Contributing

We welcome contributions from the community! To contribute:

  1. Fork the repository.
  2. Create a new branch for your feature:
    git checkout -b feature-name
  3. Commit your changes and push:
    git push origin feature-name
  4. Open a pull request.

License

This project is open-source and available under the MIT License.


Contact

For questions or support, contact us at:

Releases

No releases published

Packages

No packages published