{"id":14974531,"url":"https://github.com/bishalpaudel/commentapp","last_synced_at":"2026-03-03T17:32:49.508Z","repository":{"id":73775906,"uuid":"90196151","full_name":"bishalpaudel/commentApp","owner":"bishalpaudel","description":"A simple nested comment application built with Laravel 5.4 and AngularJS 1.6.","archived":false,"fork":false,"pushed_at":"2017-05-03T22:00:16.000Z","size":164,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-27T03:14:52.848Z","etag":null,"topics":["integration-testing","laravel54","mockery","php7","unittesting"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bishalpaudel.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-03T21:46:22.000Z","updated_at":"2022-02-12T08:58:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"34cf4ed5-63c2-47cf-a09b-aea83cc4e00c","html_url":"https://github.com/bishalpaudel/commentApp","commit_stats":{"total_commits":4,"total_committers":2,"mean_commits":2.0,"dds":0.25,"last_synced_commit":"f86f9685186d5584f2f6bbb5fb390a4d24963c6c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishalpaudel%2FcommentApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishalpaudel%2FcommentApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishalpaudel%2FcommentApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bishalpaudel%2FcommentApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bishalpaudel","download_url":"https://codeload.github.com/bishalpaudel/commentApp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240970218,"owners_count":19886526,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["integration-testing","laravel54","mockery","php7","unittesting"],"created_at":"2024-09-24T13:50:41.975Z","updated_at":"2026-03-03T17:32:49.479Z","avatar_url":"https://github.com/bishalpaudel.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## TMBC Comment App\n\nA simple nested comment application built with Laravel 5.4 and AngularJS 1.6.\n\n### Backend:\n- Controller: App\\Http\\Controllers\\Controller [Folder: app/Http/Controllers]\n- Model: App\\Comment [Folder: app]\n- Comment Seeder Factory: [Folder: database/factories/ModelFactory.php]\n- Comment Database Schema Definition and Versioning: [Folder: database/migrations/]\n- Comment Seeder Class: [Folder: database/seeds/CommentsTableSeeder.php]\n- Views:\n    - Layout file: frontend.blade.php [Folder: resources/views/layouts]\n    - Comment App View: index.blade.php [Folder: resources/views/comment]\n- Routes:\n    - API (for AJAX post and Delete comments): api.php [Folder: routes]\n    - Home View Route: web.php [Folder: routes] \n- Settings: .env\n    - DB_DATABASE\n    - DB_USERNAME\n    - DB_PASSWORD\n    - MAX_COMMENT_DEPTH [to define maximum level of comments allowed]\n- Tests:\n    - Integration: [Folder: tests/Feature]\n        - CommentControllerTest\n    - Unit: [Folder: tests/unit]\n        - CommentControllerTest\n\n### Frontend:\n- Libraries: \n    - AngularJS 1.6.1\n    - Angular Animate 1.6.1\n    - Bootstrap UI\n- Controller: CommentController.js [Folder: public/js/commentApp/controllers]\n- Service: CommentService.js [Folder: public/js/commentApp/services]\n- App Module: App.js [Folder: public/js/commentApp]\n\n## Requirements:\n    - PHP7\n    - Laravel5.4 and its dependencies\n    - AngularJS, AngularAnimate, BootstrapUI\n\n## Installation:\n    - Clone this repository and run into bash: \n        php composer.phar update\n    - Set correct settings (based on your environment) on .env file\n    - Add to .env file: MAX_COMMENT_DEPTH=3\n    - Create databse: \n        php artisan migrate\n    - Seed database with initial data:\n        php artisan db:seed\n    - Run PHP7 Server:\n        php artisan serve\n        Then use provided url to access the application in the browser.\n\n## TODO:\n- Angular View should use Directives for dynamic nesting of comments. I tried this, but came up with few issues, and rolled back to manual levels (hard layering with CommentLayer1, CommentLayer2 and CommentLayer3).\n- Respond with nice messages on JSON response, and implement that sensibly on frontend.\n- Create Customs Exceptions and Catch those within Code.\n- Cover Unit and Integration tests on AngularJS for frontend.\n- Cover remaining Unit and Integration tests for Controller and Model.\n- Use Closure table for storing Comment hierarchy.\n- Use Localized messages (for multilingual implementation).\n- Use Bower/npm and requirejs for javascript dependency management.\n- Use service layer between controller and model. Most of the business logic must reside in service layer.\n- Use OAuth or similar libraries for API authentication.\n- Use efficient query for getting nested comments. This application can get any level of nested comments, but is not efficient.\n\n## License\n\nThe TMBC comment application is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbishalpaudel%2Fcommentapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbishalpaudel%2Fcommentapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbishalpaudel%2Fcommentapp/lists"}