Dompet is a personal bookkeeping web application, built with Laravel 5.
Easy bookkeeping for personal income and spending (amount of money).
To aquire our objective, we need this features on the application:
- User can register.
- User can see transaction history by date of their own.
- User add transactions for income and spending.
- User can categorize the transaction.
- User can see transaction summary on each month or a year.
-
sign on numbers indicates spending/outcome transaction.
Those are basic concept of the personal bookkeeping service.
This application can be installed on local server and online server with these specifications :
- PHP >=7.3 (and meet Laravel 8.x server requirements),
- MySQL or MariaDB database,
- SQlite (for automated testing).
- Clone the repo :
git clone https://github.com/nafiesl/dompet.git
$ cd dompet
$ composer install
$ cp .env.example .env
$ php artisan key:generate
- Create new MySQL database for this application
(with simple command:$ mysqladmin -urootuser -p create dompet_db
) - Set database credentials on
.env
file $ php artisan migrate
$ php artisan serve
- Register new account.
- Run
php artisan passport:install
, we will get this output.
Encryption keys generated successfully.
Personal access client created successfully.
Client ID: 1
Client secret: XQIkbQxxxxxasQHt9YU
Password grant client created successfully.
Client ID: 2
Client secret: IWzI2DvXDxxxxb1kIH
- Set the
Password grant client
on our.env
.
PASSPORT_CLIENT_ID=2
PASSPORT_CLIENT_SECRET=IWzI2DvXDxxxxb1kIH
- Run the web server
php artisan serve
.
Starting Laravel development server: http://127.0.0.1:8000
- Login to the API endpoint using our REST API client (like Postman).
curl -X POST \
http://127.0.0.1:8000/api/auth/login \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"email": "[email protected]",
"password": "password"
}'
- We will get this response:
{
"token_type": "Bearer",
"expires_in": 31536000,
"access_token": "eyJ0eXAiOxxxx2XJEbA",
"refresh_token": "def5020xxxx58b21"
}
- Use the
access_token
value as the bearer authorization header.
curl -X GET \
http://127.0.0.1:8000/api/transactions?year=2018&month=09 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer eyJ0eXAiOxxxx2XJEbA'
Response:
{
"data": [],
"stats": {
"start_balance": "0.00",
"income_total": "0.00",
"spending_total": "0.00",
"difference": "0.00",
"end_balance": "0.00"
}
}
If you are considering to contribute to this repo. It is really nice.
- Submit Issue if you found any errors or bugs or if you want to propose new feature.
- Pull Request for bugfix, typo on labels, or new feature.
Dompet project is a free and open-sourced software under MIT License.