A modern task management system built with CodeIgniter 4 and Tailwind CSS. Features user authentication, category-based task organization, real-time updates, and responsive design.
Before you begin, ensure you have the following installed:
- PHP >= 8.1
- MySQL >= 5.7
- Composer
- Git
- Clone the repository
git clone https://github.com/yourusername/task-management-system.git
cd task-management-system- Install dependencies
composer install- Configure environment
# Copy the example env file
cp .env.example .env
# Generate application key (if needed)
php spark key:generate- Configure database
Edit
.envfile and update database settings:
database.default.hostname = localhost
database.default.database = your_database_name
database.default.username = your_username
database.default.password = your_password
database.default.DBDriver = MySQLi
database.default.port = 3306- Run migrations
# Create database tables
php spark migrate
# Seed default categories
php spark db:seed DefaultCategories- Set permissions (Linux/Unix)
chmod -R 777 writable/- Start development server
php spark serveThe application will be available at http://localhost:8080
Use these credentials to test the application:
Email: test@example.com
Username: TestUser
Password: password123
-
User Authentication
- Register with email and password
- Login with email/username
- Secure session management
-
Task Management
- Create, edit, and delete tasks
- Organize tasks by categories
- Set task deadlines
- Move tasks between states (Pending/In Progress/Completed)
-
Categories
- Create custom categories
- Edit and delete categories
- Color-coded category system
-
Search and Filter
- Search tasks by title/description
- Filter by status
- Filter by category
- Combined filters support
The system uses three main tables:
-
users
- Store user credentials and information
- Handles authentication
-
tasks
- Store task details
- Fields: title, description, category, deadline, status, user_id
-
categories
- Store task categories
- Fields: name, color_class, user_id
task-management-system/
├── app/
│ ├── Controllers/
│ ├── Models/
│ ├── Views/
│ ├── Filters/
│ └── Database/
├── public/
│ ├── assets/
│ └── js/
└── writable/
app/Config/Routes.php- Application routesapp/Controllers/- Application controllersapp/Models/- Database modelsapp/Views/- View templatesapp/Database/Migrations/- Database migrations
- Permission Issues
chmod -R 777 writable/- Database Connection
- Verify database credentials in
.env - Ensure MySQL service is running
- Composer Issues
composer clear-cache
composer update- CSRF protection enabled
- Secure session management
- Password hashing
- XSS protection
- Input validation
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For additional help or questions, please open an issue in the repository.