Skip to content

ValentineOO/task-management-system

Repository files navigation

Task Management System

Backend PHP Framework CodeIgniter Frontend JavaScript Database MySQL Styling Tailwind CSS UI jQuery Icons Font Awesome Session PHP Session License MIT

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.

Prerequisites

Before you begin, ensure you have the following installed:

  • PHP >= 8.1
  • MySQL >= 5.7
  • Composer
  • Git

Installation Steps

  1. Clone the repository
git clone https://github.com/yourusername/task-management-system.git
cd task-management-system
  1. Install dependencies
composer install
  1. Configure environment
# Copy the example env file
cp .env.example .env

# Generate application key (if needed)
php spark key:generate
  1. Configure database Edit .env file 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
  1. Run migrations
# Create database tables
php spark migrate

# Seed default categories
php spark db:seed DefaultCategories
  1. Set permissions (Linux/Unix)
chmod -R 777 writable/
  1. Start development server
php spark serve

The application will be available at http://localhost:8080

Test Account

Use these credentials to test the application:

Email: test@example.com
Username: TestUser
Password: password123

Features

  • 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

Database Structure

The system uses three main tables:

  1. users

    • Store user credentials and information
    • Handles authentication
  2. tasks

    • Store task details
    • Fields: title, description, category, deadline, status, user_id
  3. categories

    • Store task categories
    • Fields: name, color_class, user_id

Development

File Structure

task-management-system/
├── app/
│   ├── Controllers/
│   ├── Models/
│   ├── Views/
│   ├── Filters/
│   └── Database/
├── public/
│   ├── assets/
│   └── js/
└── writable/

Key Files

  • app/Config/Routes.php - Application routes
  • app/Controllers/ - Application controllers
  • app/Models/ - Database models
  • app/Views/ - View templates
  • app/Database/Migrations/ - Database migrations

Troubleshooting

  1. Permission Issues
chmod -R 777 writable/
  1. Database Connection
  • Verify database credentials in .env
  • Ensure MySQL service is running
  1. Composer Issues
composer clear-cache
composer update

Security

  • CSRF protection enabled
  • Secure session management
  • Password hashing
  • XSS protection
  • Input validation

Browser Support

  • Chrome (latest)
  • Firefox (latest)
  • Safari (latest)
  • Edge (latest)
  • Mobile browsers

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

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.

About

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.

Demo: https://youtu.be/og945bh-0RM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors