monorepo/web/maplefile-frontend/README.md

67 lines
1.8 KiB
Markdown

# ⚛️ MapleFile Frontend (React + Vite)
End-to-end encrypted file storage frontend built with React 19 and Vite.
## 🚀 Quick Start
### Development Setup
```bash
# Install dependencies
npm install
# Copy environment template
cp .env.development.sample .env.development
# Start dev server
npm run dev
```
The frontend runs at **http://localhost:5173**
### Production Setup
```bash
# Copy environment template
cp .env.production.sample .env.production
# Edit .env.production with your production settings
# At minimum, set: VITE_API_BASE_URL
# Build for production
npm run build
# Preview production build locally
npm run preview
```
## ⚙️ Environment Configuration
Environment files are **not tracked in git**. Use the `.sample` files as templates:
- **`.env.development.sample`** → Copy to `.env.development` (local dev)
- **`.env.production.sample`** → Copy to `.env.production` (production build)
**Key variables:**
| Variable | Description | Default |
|----------|-------------|---------|
| `VITE_API_BASE_URL` | Backend API endpoint | `http://localhost:8000` (dev) |
| `VITE_DEV_MODE` | Development mode flag | `true` (dev) |
### Session Persistence
Users can choose their session persistence preference via the "Keep me logged in" checkbox on the login page:
- **Checked** - Uses `localStorage` to stay logged in after closing browser
- **Unchecked** - Uses `sessionStorage` for session-only persistence (logged out on browser close)
The preference is stored and remembered for future logins.
## 🤝 Contributing
Found a bug? Want a feature to improve MapleFile Frontend? Please create an [issue](https://codeberg.org/mapleopentech/monorepo/issues/new).
## 📝 License
This application is licensed under the [**GNU Affero General Public License v3.0**](https://opensource.org/license/agpl-v3). See [LICENSE](../../LICENSE) for more information.