| .. | ||
| scripts | ||
| src | ||
| .claudeignore | ||
| .crev-config.yaml | ||
| .env.development | ||
| .env.development.sample | ||
| .env.example | ||
| .env.production | ||
| .env.production.sample | ||
| .gitignore | ||
| eslint.config.js | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| README.md | ||
| tailwind.config.js | ||
| Taskfile.yml | ||
| vite.config.js | ||
⚛️ MapleFile Frontend (React + Vite)
End-to-end encrypted file storage frontend built with React 19 and Vite.
🚀 Quick Start
Development Setup
# 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
# 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
localStorageto stay logged in after closing browser - Unchecked - Uses
sessionStoragefor 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.
📝 License
This application is licensed under the GNU Affero General Public License v3.0. See LICENSE for more information.