diff --git a/README.md b/README.md index b6afc57..1b6f835 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,37 @@ -# UnusedRoutes + -## Installation + + +
+
+

Unused Routes

+ +

+ Report Bug + ยท + Request Feature +

+
+ + + + + +## About The Project + +This project is a Symfony bundle that gives you information about the (un)used routes in your application. +With this information you can safely delete the unused routes from your code. + +![](docs/screenshots/list.png) + + +

(back to top)

+ + + +## Getting Started + +### Installation Make sure Composer is installed globally, as explained in the [installation chapter](https://getcomposer.org/doc/00-intro.md) @@ -39,7 +70,115 @@ return [ ]; ``` -## TODO + + +## Usage + +After the installation the bundle will start registering the users activity. +This activity will be stored by default in a file in `%kernel.logs_dir%/accessed_routes{Ymd}.log` + +To know which routes are unused execute the following command: +```bash +php bin/console unused-routes:list +``` +This will show a table like this: +```bash +---------------------- ------- ------------- + Route #Uses Last access + ---------------------- ------- ------------- + ux_live_component 0 - + admin_index 0 - + admin_post_index 0 - + admin_post_new 0 - + admin_post_show 0 - + admin_post_edit 0 - + admin_post_delete 0 - + blog_rss 0 - + blog_index_paginated 0 - + blog_post 0 - + comment_new 0 - + blog_search 0 - + security_login 0 - + user_edit 0 - + user_change_password 0 - + ---------------------- ------- ------------- + ``` + +Also you can pass the option `--show-all-routes` to add the info of the used routes +```bash +php bin/console unused-routes:list --show-all-routes +``` +This will show a table like this: +``` +---------------------- ------- ------------- + Route #Uses Last access + ---------------------- ------- ------------- + ux_live_component 0 - + homepage 4 16/01/2024 + admin_index 0 - + admin_post_index 0 - + admin_post_new 0 - + admin_post_show 0 - + admin_post_edit 0 - + admin_post_delete 0 - + blog_index 1 06/01/2024 + blog_rss 0 - + blog_index_paginated 0 - + blog_post 0 - + comment_new 0 - + blog_search 0 - + security_login 0 - + user_edit 0 - + user_change_password 0 - + ---------------------- ------- ------------- + ``` +Now the routes that have been accessed also appear here with some info of the number of acceses and the date of the last one. + +

(back to top)

+ +### Configuration +There are only two parameters in this bundle. The path where the file is stores and the filename. +```yaml +unused_routes: + file_path: '%kernel.logs_dir%' + file_name: 'accessed_routes.log' +``` +### Replacing how logs are stored/read +If you want to replace the way of storing logs like using a database or another storaging strategy you can create your own service implementing the following interface: +```php + +## Roadmap + - [x] Write a log file per day - [x] Add tests - [x] Add pipelines @@ -47,6 +186,43 @@ return [ - [x] Run Tests - [x] Coverage check - [x] Phpstan -- [ ] Improve Readme with description and usage -- [ ] See if it's possible to autogenerate a bundle config file when installing -- [ ] Add configuration to replace how we store/read logs \ No newline at end of file +- [x] Improve Readme with description and usage +- [ ] Multiple routes can be assigned to the same action, take this into account in the result table +- [ ] See if it's possible/worth it to autogenerate a bundle config file when installing +- [ ] Add more methods to store/read logs +- [ ] Add configuration to replace how we store/read logs + + +See the [open issues](https://github.com/orbeji/unused-routes/issues) for a full list of proposed features (and known issues). + +

(back to top)

+ + + + +## Contributing + +Pull requests are welcome. For major changes, please open an issue first +to discuss what you would like to change. + +Please make sure to update tests as appropriate and that all the Github Actions are passing. + +

(back to top)

+ + + + +## License + +Distributed under the [MIT](https://choosealicense.com/licenses/mit/) License. + +

(back to top)

+ + + + +## Contact + +Project Link: [https://github.com/orbeji/unused-routes](https://github.com/orbeji/unused-routes) + +

(back to top)

diff --git a/docs/screenshots/list.png b/docs/screenshots/list.png new file mode 100644 index 0000000..416b7a4 Binary files /dev/null and b/docs/screenshots/list.png differ