A modern, self-hosted project management platform with multi-database support
Flomark is a powerful, feature-rich task and project management application designed for teams of all sizes. Manage projects, track tasks, collaborate in real-time, and stay organized with an intuitive Kanban-style interface. Choose your database: MongoDB, PostgreSQL, MySQL, or SQLite.
- π Kanban Board - Drag-and-drop task management with real-time updates
- π₯ Team Collaboration - Invite members, assign tasks, and manage permissions
- π·οΈ Labels & Tags - Organize tasks with customizable labels
- π Due Dates - Set deadlines and track progress
- π File Attachments - Upload and manage task attachments
- β Subtasks - Break down tasks into manageable steps
- π Real-time Notifications - Stay updated with WebSocket-powered notifications
- Two-Factor Authentication (2FA) - Enhanced security with TOTP
- Role-Based Access Control - Owner, Admin, and User roles
- Admin Panel - Comprehensive user management dashboard
- Project Roles - Granular permissions (Owner, Admin, Member, Viewer)
- Invite System - Secure project invitations with unique links
- Dark Mode Design - Beautiful glassmorphic UI
- Responsive Layout - Works seamlessly on desktop and mobile
- Real-time Updates - Socket.io for instant synchronization
- Optimistic UI - Smooth interactions with instant feedback
- Profile Customization - Upload profile pictures and personalize settings
- React 18 - Modern UI library
- React Router - Client-side routing
- Radix UI - Accessible component primitives
- Tailwind CSS - Utility-first styling
- Vite - Fast build tool
- Socket.io Client - Real-time communication
- Node.js & Express - Server framework
- Prisma ORM - Multi-database support
- Database Options:
- MongoDB - Document database
- PostgreSQL - Relational database
- MySQL/MariaDB - Popular SQL database
- SQLite - Serverless database
- Socket.io - WebSocket server
- JWT - Authentication
- Express Rate Limit - Brute force protection
- Speakeasy - 2FA implementation
- Multer - File uploads
- bcrypt - Password hashing
curl -sL https://raw.githubusercontent.com/cli1337/flomark/main/quick-install.sh -o /tmp/flomark-install.sh
sudo bash /tmp/flomark-install.shThe installer will guide you through:
- Package manager selection (npm or pnpm)
- Database setup (MongoDB/PostgreSQL/MySQL/SQLite)
- Web server configuration (Nginx or Apache)
- Admin account creation
π For detailed installation options, see COMPLETE-SETUP-GUIDE.md
# Clone repository
git clone https://github.com/cli1337/flomark.git
cd flomark
# Backend setup
cd backend
pnpm install
cp env.example .env
# Edit .env with your database connection
# Setup database (choose one):
pnpm db:setup:mongodb # For MongoDB
pnpm db:setup:postgresql # For PostgreSQL
pnpm db:setup:mysql # For MySQL
pnpm db:setup:sqlite # For SQLite
# Create admin account
pnpm make-admin your-email@example.com OWNER
# Frontend setup (new terminal)
cd frontend
pnpm install
# Start development servers
# Terminal 1: Backend
cd backend && pnpm dev
# Terminal 2: Frontend
cd frontend && pnpm dev- Frontend Dev Server: http://localhost:3000
- Backend API: http://localhost:5000
Port Configuration:
- Frontend port configured in
frontend/vite.config.js - Backend port configured in
backend/.env(PORT variable) - See frontend/README.md for detailed configuration options
Database Setup Commands:
pnpm db:setup:mongodb- Auto-configures MongoDB schema + generates client + creates tablespnpm db:setup:postgresql- Auto-configures PostgreSQL schema + generates client + creates tablespnpm db:setup:mysql- Auto-configures MySQL schema + generates client + creates tablespnpm db:setup:sqlite- Auto-configures SQLite schema + generates client + creates tables
π For environment variables, see backend/ENV_VARIABLES.md
# One-command update with auto-backup
curl -sL https://raw.githubusercontent.com/cli1337/flomark/main/update.sh -o /tmp/flomark-update.sh
sudo bash /tmp/flomark-update.shπ For update procedures and rollback, see UPDATE-GUIDE.md
- COMPLETE-SETUP-GUIDE.md - Complete setup guide
- DEPLOYMENT.md - Deployment guide with troubleshooting
- DEPLOYMENT-QUICKSTART.md - Quick reference
- INSTALLATION-SCRIPTS-README.md - Scripts overview
- DATABASE-SETUP.md - Database configuration
- UPDATE-GUIDE.md - Update guide with rollback procedures
- backend/README.md - Backend documentation & port configuration
- frontend/README.md - Frontend configuration (Vite, ports, proxy, allowedHosts)
- backend/SMTP_SETUP.md - Email configuration
- ARCHITECTURE-DIAGRAM.md - System architecture
- FEATURES-SUMMARY.md - All features breakdown
- CONTRIBUTING.md - Contribution guidelines
- Issues: Report a bug or request a feature
- Discussions: Have questions? Start a discussion!
- Documentation: Check the guides above
This project is licensed under the MIT License - free to use, modify, and distribute!
See the LICENSE file for details.
If you find Flomark useful, give it a star β on GitHub!
Free & Open Source β’ Made with β€οΈ