Skip to content

Backend codebase for a project and task management app using Laravel

Notifications You must be signed in to change notification settings

tosinibrahim96/tasky

Repository files navigation

tosinibrahim96

Tasky

API implementation for the tasky application using Laravel

Clone

  • 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

Setup

  • 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)

Available Endpoints

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

License

About

Backend codebase for a project and task management app using Laravel

Topics

Resources

Stars

Watchers

Forks