Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dzooli/yii2-wallet
Personal expense tracker using Yii2 Framework
https://github.com/dzooli/yii2-wallet
backend docker docker-compose front-end-development gentelella material-design mysql-database yii2-framework
Last synced: 4 months ago
JSON representation
Personal expense tracker using Yii2 Framework
- Host: GitHub
- URL: https://github.com/dzooli/yii2-wallet
- Owner: dzooli
- License: other
- Created: 2021-03-20T00:34:47.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2024-06-02T22:28:25.000Z (8 months ago)
- Last Synced: 2024-09-30T23:44:33.735Z (4 months ago)
- Topics: backend, docker, docker-compose, front-end-development, gentelella, material-design, mysql-database, yii2-framework
- Language: PHP
- Homepage:
- Size: 5.49 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Personal expense tracker
This project uses the following Yii2 Advanced template:
Yii2 Fast Simple Advanced App [![Packagist Version](https://img.shields.io/packagist/v/akiraz2/yii2-app.svg?style=flat-square)](https://packagist.org/packages/akiraz2/yii2-app) [![Total Downloads](https://img.shields.io/packagist/dt/akiraz2/yii2-app.svg?style=flat-square)](https://packagist.org/packages/akiraz2/yii2-app)
## Development features
- Yii2-app is Fast and Ready-to-production advanced project template
- Dockerized, for development (mysql, nginx, php-fpm)
- Gentelella Admin template is beautiful and simple bootstrap, compatible with yii2 assets: [yiister/yii2-gentelella](https://github.com/yiister/yii2-gentelella), [Demo](https://colorlib.com/polygon/gentelella/)
- Yii2 User is strong and proved user-module with many features: [dektrium/yii2-user](https://github.com/dektrium/yii2-user) (login `admin`, password `adminus`)
- Frontend and Backend User Controllers are filtered (by `dektrium/yii2-user`)
- File or DB cache, but I recommend Redis Cache - it is really fast
- Yii2 queue (DB table `queue`), but you can use _Redis-queue_ or other [yii2-queue docs](https://github.com/yiisoft/yii2-queue/blob/master/docs/guide/README.md)
- Queue Manager with backend (`/queuemanager/default/index`) using [ignatenkovnikita/yii2-queuemanager](https://github.com/ignatenkovnikita/yii2-queuemanager)
- Log DB Target with backend (`/log/index`) - simply view log messages
- .htaccess - config for **pretty urls** (rewrite index.php), _may be later add nginx config_
- **UrlManagerFrontend** for backend app (all url rules in file `frontend/config/urls.php`, hostInfo in `common/config/params.php`)
- i18n translations in `common/messages` with config (current only English and Russian, language translation are welcome!)
- ContactForm in frontend app is improved: [himiklab/yii2-recaptcha-widget](https://github.com/himiklab/yii2-recaptcha-widget),
all email are saved to DB (`common/models/EmailForm` Model), optionally send message to Viber messenger via bot
(install requirements [Bogdaan/viber-bot-php](https://github.com/Bogdaan/viber-bot-php) and config, uncomment code in Model)
- Gii generator:1. added **yii2-queue** Jobs generator
2. yii2 migration generator (from existing table) [Insolita/yii2-migrik](https://github.com/Insolita/yii2-migrik)
3. [schmunk42/yii2-giiant](https://github.com/schmunk42/yii2-giiant) - really steroid, but in development with bugs## Available modules
These modules can be easy installed to Yii2-App using Composer:
- Yii2 Super Blog Module (semantic, seo): [akiraz2/yii2-blog](https://github.com/akiraz2/yii2-blog)
- Yii2 many web-statictic counters (all-in-one) _(yandex, google, own db-counter)_: [akiraz2/yii2-stat](https://github.com/akiraz2/yii2-stat)
- yii2 opengraph component: [dragonjet/yii2-opengraph](https://github.com/dragonjet/yii2-opengraph)
- yii2 settings (db+cache): [yii2mod/yii2-settings](https://github.com/yii2mod/yii2-settings)
- etc...## Installation
Yii2-app template can be installed using composer. Run following command to download and install Yii2-app:
```
composer create-project --prefer-dist akiraz2/yii2-app my-site
```After installation run `init`
## Docker
Install yii2-app using [Docker](https://www.docker.com):
0. run command to create project
```
docker run --rm --interactive --tty \
--volume $PWD:/app \
--volume ${COMPOSER_HOME:-$HOME/.composer}:/tmp \
composer create-project --prefer-dist akiraz2/yii2-app my-site
```1. copy `.env-dist` to `.env`, configure if needed
2. copy `/mysql/docker-entrypoint-initdb.d/createdb.sql.example` to `createdb.sql` if you have ready DB (so dont run migrations)
3. `docker-compose build` (you can configure Docker PHP in /php/Dockerfile-debian before building, for example, add mongodb)
4. `docker-compose up -d`
5. `docker-compose exec php bash`, in terminal run `composer install`, then `php init`, then run other migrations (see next)
6. open [http://localhost:8100](http://localhost:8100) to test frontend (backend is on [http://localhost:8200](localhost:8200))Access to Console App: `docker-compose exec php bash` and `php yii mycommand/action`
### Migrations
> **NOTE:** Make sure that you have properly configured `db` application component and run the following command
```
php yii migrate/up --migrationPath=@vendor/dektrium/yii2-user/migrations
php yii migrate --migrationPath=@yii/log/migrations/
# php yii migrate --migrationPath=vendor/ignatenkovnikita/yii2-queuemanager/migrations/ # Needed only for DB based Queue
php yii migrate/up
```### Default User Credentials
login: `admin`
password: `adminus`### Web server config
For newbies, I will recommend reading these instructions [yiisoft/yii2-app-advanced/start-installation.md](https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/start-installation.md) (apache, nginx, etc\hosts
## Development
### Messages
Change in `common/config/main.php`
```
'language' => 'ru-RU',
'sourceLanguage' => 'en-US',
```Add your language in `common/messages/config.php`
```
'languages' => [
'ru-RU',
],
```In shell
```
php yii message/extract common/messages/config.php
```## Support
If you have any questions or problems with Yii2-App you can ask them directly
by using following email address: `[email protected]`.## Contributing
If you'd like to contribute, please fork the repository and use a feature branch. Pull requests are warmly welcome.
+PSR-2 style coding.I can apply patch, PR in 2-3 days! If not, please write me `[email protected]`
## Licensing
Yii2-App is released under the BSD License. See the bundled [LICENSE.md](LICENSE.md)
for details.