Skip to content

gustawdaniel/os

Repository files navigation

Personal OS

A minimalist, high-performance personal dashboard designed to manage habits, notes, and goals with a premium aesthetic. Built with Svelte 5 and a modern tech stack.

Personal OS Svelte Tailwind Prisma

✨ Features

  • Habit Tracker: A ClickUp-inspired minimalist habit tracker with drag-and-drop reordering, monthly views, and progress tracking.
  • Notes Module: Clean, full-width WYSIWYG editor powered by Tiptap. Features autosave, compact list views, and refined typography.
  • Google OAuth: Secure authentication via Google for seamless login and multi-device access.
  • Mobile First: Fully responsive design that looks stunning on desktops and mobile devices alike.
  • Activity Logging (WIP): Integrated architecture for tracking time and daily logs.

🛠 Tech Stack

🚀 Getting Started

Prerequisites

  • Node.js (v20+)
  • pnpm
  • MongoDB instance (local or Atlas)

Local Development

  1. Clone the repository:

    git clone git@github.com:gustawdaniel/os.git
    cd os
  2. Install dependencies:

    pnpm install
  3. Set up Environment Variables: Create a .env file in the root directory:

    DATABASE_URL="mongodb://..."
    AUTH_SECRET="your-random-secret"
    GOOGLE_CLIENT_ID="your-google-client-id"
    GOOGLE_CLIENT_SECRET="your-google-client-secret"
  4. Sync Database:

    pnpm exec prisma db push
    pnpm exec prisma generate
  5. Run the dev server:

    pnpm dev

🐳 Docker & Deployment

The project is fully dockerized and includes a CI/CD pipeline for GitHub Actions.

Docker Compose

To run the production build locally:

docker compose up -d

The app will be available at http://localhost:3667.

CI/CD Pipeline

On every push to main, the GitHub Action:

  1. Builds a production Docker image.
  2. Pushes the image to DigitalOcean Container Registry.
  3. Deploys to your VPS via SSH and restarts the containers.

📄 License

Private - All rights reserved.

About

Notes / Habits / Productivity Tracker

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors