PHP Classes

How to Create a PHP Task List Application that Allows Users to Share Tasks with Each Other Using the Package Task List: Manage and share a list of tasks

Recommend this page to a friend!
  Info   Documentation   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2024-12-19 (2 days ago) RSS 2.0 feedNot enough user ratingsTotal: 2 This week: 2All time: 11,517 This week: 22Up
Version License PHP version Categories
tasklist 1.0The PHP License7Time and Date, User Management, PHP 7, A...
Description 

Author

This package can manage and share a list of tasks.

It provides an application that can perform several tasks with users, tasks, task lists, and tasks shared between users.

The backend provides an API that can serve the frontend pages that the application users can access.

Currently, the backend can:

- Manage the user registration and login

- Manage the tasks created by the users

- Manage the tasks shared between users

Picture of Edward Paul
  Performance   Level  
Name: Edward Paul <contact>
Classes: 20 packages by
Country: Nigeria Nigeria
Innovation award
Innovation award
Nominee: 12x

Winner: 1x

Documentation

TaskList Application

Welcome to TaskList, a simple task management application with a multi-container Docker setup.

Setup Instructions

Prerequisites

  1. Docker installed on your system.
  2. Ensure `docker-compose` is available.

Environment Configuration

Create .env files for both the backend and frontend services:

Backend (backend/.env)

APP_NAME=TaskList
APP_ENV=local
APP_KEY=base64:APP_KEY_HERE
APP_DEBUG=true
APP_URL=http://localhost:9001

DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root

Frontend (frontend/.env.local)

NEXT_PUBLIC_API_URL=http://localhost:9001/api

Starting the Application

Clone the repository:

git clone https://github.com/infinitypaul/tasklist.git
cd tasklist

Start the Docker containers:

docker-compose up --build

After the containers are running, access the services:

Frontend: http://localhost:3000 Backend: http://localhost:9001

API Endpoints

Authentication

| Method | Endpoint | Description | Payload | |--------|----------------|------------------------|----------------------------------------------------------| | POST | /api/register | Register a new user | { name, username, email, password, password_confirmation } | | POST | /api/login | Login an existing user | { email, password } | | POST | /api/logout | Logout a user | None | | GET | /api/me | Get user profile | None |

Tasks API Endpoints

| Method | Endpoint | Description | Payload | |--------|--------------------------|------------------------------------|------------------------------| | GET | /api/tasks | Get all tasks for the user | None | | POST | /api/tasks | Create a new task | { name, description } | | GET | /api/tasks/{id} | Get details of a specific task | None | | PUT | /api/tasks/{id} | Update a task | { name, description } | | POST | /api/tasks/mark/{id} | Toggle task completion status | None |

Shared Tasks

| Method | Endpoint | Description | Payload | |--------|-----------------------------|--------------------------------------|------------------------------| | GET | /api/tasks/shared | Get tasks shared with the user | None | | POST | /api/tasks/share/{id} | Share a task with another user | { username, permission } | | GET | /api/tasks/{id}/shared | Get users a task is shared with | None |

Permissions

| Method | Endpoint | Description | Payload | |--------|---------------------|----------------------------|---------| | GET | /api/permissions | Get list of permissions | None |

tasklist/
??? backend/              # Laravel Backend
?   ??? app/              # Application code
?   ??? database/         # Migrations and Seeders
?   ??? public/           # Publicly accessible files
?   ??? .env              # Environment file
?   ??? Dockerfile        # Docker configuration
??? frontend/             # Next.js Frontend
?   ??? src/            # Page components
?   ??? components/       # Reusable components
?   ??? .env.local        # Environment file
?   ??? Dockerfile        # Docker configuration
??? docker-compose.yml    # Multi-container setup
??? README.md             # Documentation

Troubleshooting

Ports in Use: Stop other services running on 9001 or 3000 before starting Docker. Environment Variables: Double-check .env files for typos or missing keys.


  Files folder image Files (112)  
File Role Description
Files folder imagebackend (15 files, 8 directories)
Files folder imagefrontend (10 files, 2 directories)
Accessible without login Plain text file .env Data Auxiliary data
Accessible without login Plain text file docker-compose.yml Data Auxiliary data
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files (112)  /  backend  
File Role Description
Files folder imageapp (5 directories)
Files folder imagebootstrap (2 files)
Files folder imageconfig (12 files)
Files folder imagedatabase (3 directories)
Files folder imagepublic (3 files)
Files folder imageresources (3 directories)
Files folder imageroutes (3 files)
Files folder imagetests (1 file, 2 directories)
  Accessible without login Plain text file .editorconfig Data Auxiliary data
  Accessible without login Plain text file .env.example Data Auxiliary data
  Accessible without login Plain text file artisan Example Example script
  Accessible without login Plain text file composer.json Data Auxiliary data
  Accessible without login Plain text file composer.lock Data Auxiliary data
  Accessible without login Plain text file Dockerfile Data Auxiliary data
  Accessible without login Plain text file http-client.env.json Data Auxiliary data
  Accessible without login Plain text file package-lock.json Data Auxiliary data
  Accessible without login Plain text file package.json Data Auxiliary data
  Accessible without login Plain text file phpunit.xml Data Auxiliary data
  Accessible without login Plain text file postcss.config.js Data Auxiliary data
  Accessible without login Plain text file README.md Doc. Documentation
  Accessible without login Plain text file tailwind.config.js Data Auxiliary data
  Accessible without login Plain text file Tasklist Colections.http Data Auxiliary data
  Accessible without login Plain text file vite.config.js Data Auxiliary data

  Files folder image Files (112)  /  backend  /  app  
File Role Description
Files folder imageHttp (3 directories)
Files folder imageModels (4 files)
Files folder imagePolicies (1 file)
Files folder imageProviders (1 file)
Files folder imageRepositories (2 files)

  Files folder image Files (112)  /  backend  /  app  /  Http  
File Role Description
Files folder imageControllers (6 files)
Files folder imageRequests (5 files)
Files folder imageResources (5 files)

  Files folder image Files (112)  /  backend  /  app  /  Http  /  Controllers  
File Role Description
  Plain text file Controller.php Class Class source
  Plain text file LoginController.php Class Class source
  Plain text file RegistrationController.php Class Class source
  Plain text file ShareTaskController.php Class Class source
  Plain text file TaskController.php Class Class source
  Plain text file UserController.php Class Class source

  Files folder image Files (112)  /  backend  /  app  /  Http  /  Requests  
File Role Description
  Plain text file LoginRequest.php Class Class source
  Plain text file RegisterRequest.php Class Class source
  Plain text file ShareTaskRequest.php Class Class source
  Plain text file StoreTaskRequest.php Class Class source
  Plain text file UpdateTaskRequest.php Class Class source

  Files folder image Files (112)  /  backend  /  app  /  Http  /  Resources  
File Role Description
  Plain text file BasicUserResource.php Class Class source
  Plain text file PermissionResource.php Class Class source
  Plain text file SharedTaskResource.php Class Class source
  Plain text file TaskResource.php Class Class source
  Plain text file UserResource.php Class Class source

  Files folder image Files (112)  /  backend  /  app  /  Models  
File Role Description
  Plain text file Permission.php Class Class source
  Plain text file SharedTask.php Class Class source
  Plain text file Task.php Class Class source
  Plain text file User.php Class Class source

  Files folder image Files (112)  /  backend  /  app  /  Policies  
File Role Description
  Plain text file TaskPolicy.php Class Class source

  Files folder image Files (112)  /  backend  /  app  /  Providers  
File Role Description
  Plain text file AppServiceProvider.php Class Class source

  Files folder image Files (112)  /  backend  /  app  /  Repositories  
File Role Description
  Plain text file SharedTaskRepository.php Class Class source
  Plain text file TaskRepository.php Class Class source

  Files folder image Files (112)  /  backend  /  bootstrap  
File Role Description
  Accessible without login Plain text file app.php Example Example script
  Plain text file providers.php Class Class source

  Files folder image Files (112)  /  backend  /  config  
File Role Description
  Accessible without login Plain text file app.php Aux. Configuration script
  Plain text file auth.php Class Class source
  Accessible without login Plain text file cache.php Aux. Configuration script
  Accessible without login Plain text file cors.php Aux. Configuration script
  Accessible without login Plain text file database.php Aux. Configuration script
  Accessible without login Plain text file filesystems.php Aux. Configuration script
  Plain text file logging.php Class Class source
  Accessible without login Plain text file mail.php Aux. Configuration script
  Accessible without login Plain text file queue.php Aux. Configuration script
  Plain text file sanctum.php Class Class source
  Accessible without login Plain text file services.php Aux. Configuration script
  Accessible without login Plain text file session.php Aux. Configuration script

  Files folder image Files (112)  /  backend  /  database  
File Role Description
Files folder imagefactories (1 file)
Files folder imagemigrations (10 files)
Files folder imageseeders (2 files)

  Files folder image Files (112)  /  backend  /  database  /  factories  
File Role Description
  Plain text file UserFactory.php Class Class source

  Files folder image Files (112)  /  backend  /  database  /  migrations  
File Role Description
  Plain text file 0001_01_01_000000_create_users_table.php Class Class source
  Plain text file 0001_01_01_000001_create_cache_table.php Class Class source
  Plain text file 0001_01_01_000002_create_jobs_table.php Class Class source
  Plain text file 2024_11_25_210902_...ss_tokens_table.php Class Class source
  Plain text file 2024_11_25_211127_..._to_users_table.php Class Class source
  Plain text file 2024_11_25_211313_create_tasks_table.php Class Class source
  Plain text file 2024_11_26_175112_..._to_tasks_table.php Class Class source
  Plain text file 2024_11_26_181823_...rmissions_table.php Class Class source
  Plain text file 2024_11_26_181903_...red_tasks_table.php Class Class source
  Plain text file 2024_11_27_095008_..._to_tasks_table.php Class Class source

  Files folder image Files (112)  /  backend  /  database  /  seeders  
File Role Description
  Plain text file DatabaseSeeder.php Class Class source
  Plain text file PermissionsSeeder.php Class Class source

  Files folder image Files (112)  /  backend  /  public  
File Role Description
  Accessible without login Plain text file .htaccess Data Auxiliary data
  Accessible without login Plain text file index.php Example Example script
  Accessible without login Plain text file robots.txt Doc. Documentation

  Files folder image Files (112)  /  backend  /  resources  
File Role Description
Files folder imagecss (1 file)
Files folder imagejs (2 files)
Files folder imageviews (1 file)

  Files folder image Files (112)  /  backend  /  resources  /  css  
File Role Description
  Accessible without login Plain text file app.css Data Auxiliary data

  Files folder image Files (112)  /  backend  /  resources  /  js  
File Role Description
  Accessible without login Plain text file app.js Data Auxiliary data
  Accessible without login Plain text file bootstrap.js Data Auxiliary data

  Files folder image Files (112)  /  backend  /  resources  /  views  
File Role Description
  Accessible without login Plain text file welcome.blade.php Aux. Configuration script

  Files folder image Files (112)  /  backend  /  routes  
File Role Description
  Accessible without login Plain text file api.php Appl. Application script
  Accessible without login Plain text file console.php Appl. Application script
  Accessible without login Plain text file web.php Appl. Application script

  Files folder image Files (112)  /  backend  /  tests  
File Role Description
Files folder imageFeature (1 file)
Files folder imageUnit (1 file)
  Plain text file TestCase.php Class Class source

  Files folder image Files (112)  /  backend  /  tests  /  Feature  
File Role Description
  Plain text file ExampleTest.php Class Class source

  Files folder image Files (112)  /  backend  /  tests  /  Unit  
File Role Description
  Plain text file ExampleTest.php Class Class source

  Files folder image Files (112)  /  frontend  
File Role Description
Files folder imagepublic (5 files)
Files folder imagesrc (3 directories)
  Accessible without login Plain text file .eslintrc.json Data Auxiliary data
  Accessible without login Plain text file Dockerfile Data Auxiliary data
  Accessible without login Plain text file next.config.ts Data Auxiliary data
  Accessible without login Plain text file package-lock.json Data Auxiliary data
  Accessible without login Plain text file package.json Data Auxiliary data
  Accessible without login Plain text file postcss.config.mjs Data Auxiliary data
  Accessible without login Plain text file README.md Doc. Documentation
  Accessible without login Plain text file tailwind.config.ts Data Auxiliary data
  Accessible without login Plain text file tsconfig.json Data Auxiliary data
  Accessible without login Plain text file yarn.lock Data Auxiliary data

  Files folder image Files (112)  /  frontend  /  public  
File Role Description
  Accessible without login Plain text file file.svg Data Auxiliary data
  Accessible without login Plain text file globe.svg Data Auxiliary data
  Accessible without login Plain text file next.svg Data Auxiliary data
  Accessible without login Plain text file vercel.svg Data Auxiliary data
  Accessible without login Plain text file window.svg Data Auxiliary data

  Files folder image Files (112)  /  frontend  /  src  
File Role Description
Files folder imageapp (4 files, 4 directories)
Files folder imagecomponents (3 files)
Files folder imageservices (3 files)

  Files folder image Files (112)  /  frontend  /  src  /  app  
File Role Description
Files folder imagehooks (1 file)
Files folder imagelogin (1 file)
Files folder imageregister (1 file)
Files folder imagetasks (1 file, 1 directory)
  Accessible without login Image file favicon.ico Data Auxiliary data
  Accessible without login Plain text file globals.css Data Auxiliary data
  Accessible without login Plain text file layout.tsx Data Auxiliary data
  Accessible without login Plain text file page.tsx Data Auxiliary data

  Files folder image Files (112)  /  frontend  /  src  /  app  /  hooks  
File Role Description
  Accessible without login Plain text file useAuth.ts Data Auxiliary data

  Files folder image Files (112)  /  frontend  /  src  /  app  /  login  
File Role Description
  Accessible without login Plain text file page.tsx Data Auxiliary data

  Files folder image Files (112)  /  frontend  /  src  /  app  /  register  
File Role Description
  Accessible without login Plain text file page.tsx Data Auxiliary data

  Files folder image Files (112)  /  frontend  /  src  /  app  /  tasks  
File Role Description
Files folder imagecreate (1 file)
  Accessible without login Plain text file page.tsx Data Auxiliary data

  Files folder image Files (112)  /  frontend  /  src  /  app  /  tasks  /  create  
File Role Description
  Accessible without login Plain text file page.tsx Data Auxiliary data

  Files folder image Files (112)  /  frontend  /  src  /  components  
File Role Description
  Accessible without login Plain text file FormInput.tsx Data Auxiliary data
  Accessible without login Plain text file FormSelect.tsx Data Auxiliary data
  Accessible without login Plain text file Layout.tsx Data Auxiliary data

  Files folder image Files (112)  /  frontend  /  src  /  services  
File Role Description
  Accessible without login Plain text file api.ts Data Auxiliary data
  Accessible without login Plain text file auth.ts Data Auxiliary data
  Accessible without login Plain text file task.ts Data Auxiliary data

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:2
This week:2
All time:11,517
This week:22Up