Bathyal
A lightweight, self-hosted project management application built for teams that demand complete data ownership, intuitive Kanban workflows, real-time time tracking, and zero subscription overhead.
Core Features & Modules
Projects & Dynamic Sections
Organize team workloads into structured projects with drag-and-drop sections, custom status labels, and multi-project task association.
Granular Task Lifecycle
Hierarchical subtask tree support, multi-user assignment, rich-text task descriptions, start/due date scheduling, and progress states (Todo, In Progress, Paused, Completed).
Integrated Time Tracking
One-click interactive timer controls per task with pause/resume support, automatic interval aggregation, and comprehensive team time logs.
Teams & Role Permissions
Create organization teams, invite members, and configure fine-grained role permissions (Admin, Manager, Member, and Viewer) across projects.
Notifications & Email Delivery
Unified in-app notification center with category filtering, collaborator mentions, and reliable SMTP dispatch powered by PHPMailer.
Reporting & JSON Export
Visual distribution dashboards, project workload analytics, overdue task monitoring, and structured JSON report exports.
Architecture & System Tiers
PHP 8.3 & Front Controller
-
Routing: Centralized front-controller router (
index.php) handling view dispatch and auth gates. -
Client Layer: Lightweight Vanilla JS (
app.js) and Tailwind CSS with no single-page framework overhead. -
API Surface: Dedicated REST JSON endpoints under
/api/(tasks, sections, teams, uploads).
MySQL 8.0 & Relational Schema
- Integrity: PDO prepared statements with strict parameter binding and foreign key constraints.
- Timezone: Enforced UTC storage across created/updated timestamps and active time logs.
- Task Multi-Homing: Normalized schema allowing tasks to belong to multiple projects simultaneously.
Containerization & Services
- Docker Stack: Multi-container orchestration (Nginx web server, PHP-FPM, MySQL 8.0).
-
Automated Seeding: Automatic database schema execution on initial container startup via
database.sql. - SMTP Email: PHPMailer integration for team invites, password recovery, and assignment alerts.
Self-Hosting & Docker Deployment Guide
Full installation instructions, environment variable configurations (.env.example), and Docker Compose recipes are available in the open-source GitHub repository.
Frequently Asked Questions & Deployment Specs
What is Bathyal and what technology stack does it use?
Bathyal is a lightweight, self-hosted web application for team project management. Built with PHP 8.3 and MySQL 8.0 with Vanilla JavaScript and Tailwind CSS on the frontend, it delivers responsive Kanban boards and task lifecycles without bloated client framework dependencies.
How is Bathyal deployed and maintained?
Bathyal is deployed with a single Docker Compose command orchestrating Nginx, PHP-FPM 8.3, and MySQL 8.0 containers. Database schema migrations execute automatically upon initial startup.
Does Bathyal support time tracking and team permissions?
Yes. Every task includes an interactive timer with pause and resume controls, automatic interval calculation, and team time log summaries. Permissions are governed by four granular roles: Admin, Manager, Member, and Viewer.
Does Bathyal include a REST API?
Yes. Bathyal provides comprehensive REST JSON endpoints under /api/ for managing projects, sections, tasks, time entries, notifications, and team assignments programmatically.