A beautiful, minimalistic project management application with kanban board, calendar integration, and local SQLite storage.
- π Kanban Board: Drag-and-drop task management with customizable columns
- π Calendar View: Visualize tasks in month/week/day views
- π₯ Multi-user Support: Local authentication and user management
- π¨ Customizable Themes: Dark/Light mode with 12 emphasis colors
- π Rich Text Editor: Format task descriptions
- π·οΈ Custom Fields: Add custom fields to tasks (text, number, date, select, multi-select, user)
- π Advanced Filtering: Filter tasks by assignee, dates, and custom fields
- πΎ Local Storage: All data stored locally using SQLite - no cloud dependencies
- π± Responsive Design: Optimized for desktop and mobile
- π Import/Export: Backup and restore your data
- Node.js 18+
- npm or yarn
- Clone and enter directory
git clone https://github.com/yourusername/minima-list.git
cd minima-list- Install dependencies
npm install- Start the app
npm run dev:fullThat's it! Open http://localhost:2900 in your browser.
The app will automatically:
- Create a local SQLite database
- Set up all required tables
- Be ready to use immediately
- Sign Up: Create your first account (it will be an admin account)
- Create Project: Click "New Project" in the sidebar
- Start Working: Add items, drag them between columns, customize as needed!
# Build frontend
npm run build
# Start production server
npm run start:serverNo configuration required! The app works out of the box with sensible defaults.
Optional: Create a .env file if you want to customize:
# Custom database location (optional, defaults to ./server/minima.db)
DATABASE_PATH=./data/my-database.dbminima-list/
βββ src/ # Frontend React application
β βββ components/ # React components
β βββ pages/ # Page components
β βββ lib/ # Utilities and database client
β βββ hooks/ # Custom React hooks
βββ server/ # Backend Express server
β βββ server.js # Express server with SQLite
β βββ database.js # Database operations
β βββ minima.db # SQLite database (auto-created)
βββ public/ # Static assets
βββ package.json # Dependencies and scripts
- Create unlimited projects and columns
- Drag & drop items between columns
- Assign multiple users to items
- Set due dates and times
- Add rich text descriptions
- Comment on items (coming soon)
- Switch between Month, Week, and Day views
- Drag items to change dates
- Filter by multiple projects
- Quick "Today" inbox access
- Define project-specific fields
- Support for multiple field types
- Reorder fields via drag & drop
- Set default values
- Export all data as JSON
- Import from backups
- Merge databases from different instances
- Switch between database files
Create a Dockerfile:
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 2901
CMD ["npm", "run", "start:server"]Build and run:
docker build -t minima-list .
docker run -p 2901:2901 -v $(pwd)/data:/app/server minima-listnpm run dev- Start frontend development servernpm run dev:server- Start backend servernpm run dev:full- Start both frontend and backendnpm run build- Build for productionnpm run preview- Preview production buildnpm run start:server- Start production server
- Frontend: React, TypeScript, Vite, Tailwind CSS, shadcn/ui
- Backend: Node.js, Express, better-sqlite3
- Database: SQLite (local file-based)
- Drag & Drop: react-dnd
- Rich Text: TipTap editor
- Icons: Lucide React
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - use freely for personal or commercial projects.
Database not creating?
- Ensure the
serverdirectory exists and has write permissions - Check console for any error messages
Port already in use?
- Change ports in
vite.config.tsandserver/server.js
Can't drag items?
- Ensure you're logged in as admin or the item is marked as "open"
Made with β€οΈ for minimalist productivity