Skip to content

Sloaix/Gofi

Repository files navigation

Gofi (Refactoring) · GitHub license

Refactoring in Progress

English | 简体中文

Gofi is a modern, open-source web file indexer and manager, featuring a fully refactored frontend and backend for enhanced security, usability, and maintainability.

✨ What's New in the Refactored Branch

  • Modern UI/UX: Frontend rebuilt with React, Vite, Tailwind CSS, and shadcn/ui. Unified, responsive, and accessible design.
  • Settings & File List Redesign: Settings page and file list page are fully modernized, with improved forms, toolbars, and interaction details.
  • Toolbar & Filtering: File list toolbar now supports icon-based filtering, floating search, and consistent view switching.
  • Internationalization: Full i18n support for English and Chinese, including error messages and UI.
  • Security & Auth: Backend authentication and permission system refactored for JWT, context-based user info, and robust error handling.
  • Configurable & Extensible: All key settings are environment-configurable. Backend and frontend are modular and easy to extend.
  • Performance Optimizations: Reduced redundant operations, improved database queries, and optimized logging.

📦 Project Structure

  • gofi-backend/ — Go backend (API, auth, config, i18n)
  • gofi-frontend/ — React frontend (UI, state, routes, i18n)
  • preview/ — Screenshots and logo

🚀 Quick Start

Recommended: One-Click Start

# Start backend
./backend.sh

# Start frontend
./frontend.sh

Build All (optional)

make

Manual Start (alternative)

Backend

cd gofi-backend
go run main.go

Frontend

cd gofi-frontend
pnpm install
pnpm dev

Visit: http://localhost:3000

🛠️ Configuration

Backend config via environment variables, e.g.:

export GOFI_JWT_SECRET="your-secret-key"
export GOFI_JWT_EXPIRE_HOURS="168"
export GOFI_ENABLE_DEBUG="false"

📝 Documentation

🖼️ Preview

preview1 preview2 preview3 preview4 preview5 preview6

📝 License

MIT