Skip to content

accessT0ken/flomark

Repository files navigation

πŸš€ Flomark

A modern, self-hosted project management platform with multi-database support

License: MIT Node.js React Databases

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.


⚑ Try Demo

https://demo.flomark.app


✨ Features

🎯 Core Features

  • πŸ“‹ 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

πŸ” Advanced Features

  • 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

🎨 User Experience

  • 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

πŸ› οΈ Tech Stack

Frontend

  • 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

Backend

  • 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

πŸš€ Quick Start

Production Installation (One Command)

curl -sL https://raw.githubusercontent.com/cli1337/flomark/main/quick-install.sh -o /tmp/flomark-install.sh
sudo bash /tmp/flomark-install.sh

The 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


Development Setup

# 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

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 tables
  • pnpm db:setup:postgresql - Auto-configures PostgreSQL schema + generates client + creates tables
  • pnpm db:setup:mysql - Auto-configures MySQL schema + generates client + creates tables
  • pnpm db:setup:sqlite - Auto-configures SQLite schema + generates client + creates tables

πŸ“š For environment variables, see backend/ENV_VARIABLES.md


πŸ”„ Updates

# 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


πŸ“– Documentation

πŸš€ Installation & Deployment

πŸ”„ Updates & Maintenance

βš™οΈ Configuration

πŸ—οΈ Architecture

🀝 Contributing


πŸ“§ Support


πŸ“„ License

This project is licensed under the MIT License - free to use, modify, and distribute!

See the LICENSE file for details.


πŸ™ Acknowledgments

  • Icons by Lucide
  • UI components by Radix UI
  • Built with React, Node.js, and Prisma

🌟 Show Your Support

If you find Flomark useful, give it a star ⭐ on GitHub!


Free & Open Source β€’ Made with ❀️

About

A modern, real-time project management platform with Kanban boards, team collaboration, and admin panel. Built with React, Node.js, MongoDB & Socket.io

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors