DownloadITC Expenses Management
Installation
The installation of this project requires composer 
- 
Step 1: Clone this repository
git clone [email protected]:ahmard/ict-expenses-management.git
  
- 
Step 2: Change directory ownership
chown www-data:www-data ict-expenses-management -R
  
- 
Step 3: Install composer dependencies
cd ict-expenses-management
composer update
  
- 
Step 4: Configure database connection, duplicate .env.example to .env and make following changes to .env
  * DB_DATABASE = your_database_name
  * DB_USERNAME = your_database_user
  * DB_PASSWORD = your_database_user_password
 
- 
Step 5: Generate application key
php artisan key:generate
  
- 
Step 6: copy config/dev.conf to /etc/nginx/conf.d/dev.conf to configure nginx
 
- 
Step 7: Restart nginx
service nginx restart
  
 
You can alternatively use PHP's built-in server
cd ict-expenses-management
php artisan serve
 And all your requests should be sent to http://localhost:8000 
Usage
List expenses
Send GET request to /api/expenses endpoint 
Create expenses
Send POST request to /api/expenses endpoint with following json-payload {
    "user": 1,
    "reason" : "Your expense reason",
    "value": "Your expense value",
    "date": "YYYY-MM-DD"
}
 
If your expense is created, you'll receive something like  {
    "success": true,
    "status": 200,
    "data": {
        "user": 1,
        "reason": "Fri",
        "value": 2384,
        "date": "2021-08-19",
        "updated_at": "2021-08-19T11:44:27.000000Z",
        "created_at": "2021-08-19T11:44:27.000000Z",
        "expense_id": 8
    }
}
 
In case of any validation error, you'll receive response similar to below {
    "success": false,
    "status": 500,
    "data": {
        "reason": [
            "The reason must be at least 3 characters."
        ]
    }
}
 
Testing the application
php artisan test
  |