API implementation for the tasky application using Laravel
- Clone the repository using
git clone https://github.com/tosinibrahim96/tasky.git
- Create a
.env
file in the root folder and copy everything from.env-sample
into it - Fill the
.env
values with your Database details as required
- Download WAMP or XAMPP to manage APACHE, MYSQL and PhpMyAdmin. This also installs PHP by default. You can follow this tutorial
- Download and install composer globally on your system
install all project dependencies and generate application key
$ composer install
$ php artisan key:generate
migrate all tables and seed required data into the database
$ php artisan migrate:fresh --seed
start your Apache server and MySQL on WAMP or XAMPP interface serve your project using the default laravel PORT or manually specify a PORT
$ php artisan serve (Default PORT)
$ php artisan serve --port={PORT_NUMBER} (setting a PORT manually)
GET /api/v1/dashboard
-> Get dashboard information
GET /api/v1/tasks
-> Get all tasks
GET /api/v1/tasks/{task_id}
-> Get a single task
GET /api/v1/projects
-> Get all projects
GET /api/v1/projects/{project_id}
-> Get a single project
POST /api/v1/projects/{project_id}/payments
-> Update payment history
{ "amount_received": amount, "updated_by":"Name of user updating the payment history", }
POST /api/v1/projects
-> Create a new project
{ "name": "project_name", "description":"project_description", "amount_received": "total amount received from client so far", "amount_expected":"expected total amount for the project", }
POST /api/v1/tasks
-> Create a new task
{ "name": "task_name", "description":"task_description", "project_id": "the ID of the project this task belongs to", "status":"current status of the task ('pending', 'in-progress' or 'done')", }
PUT /api/v1/projects/{project_id}
-> Update details of an existing project
{ "name": "project_name", "description":"project_description", "amount_expected":"expected total amount for the project", }
PUT /api/v1/tasks/{task_id}
-> Update details of an existing task
{ "name": "task_name", "description":"task_description", "status":"status of the task ('pending', 'in-progress' or 'done')", }
DELETE /api/v1/tasks/{task_id}
-> Delete an existing task
DELETE /api/v1/projects/{project_id}
-> Delete an existing project
- MIT license
- Copyright 2020 © Ibrahim Alausa.