{"id":21538957,"url":"https://github.com/edigar/noobframework","last_synced_at":"2025-07-13T07:02:35.352Z","repository":{"id":46645947,"uuid":"243082987","full_name":"edigar/noobframework","owner":"edigar","description":"A PHP MVC Framework for Beginners","archived":false,"fork":false,"pushed_at":"2024-11-17T23:51:49.000Z","size":1296,"stargazers_count":25,"open_issues_count":0,"forks_count":29,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-10T03:31:37.951Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/edigar.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-02-25T19:22:03.000Z","updated_at":"2025-01-14T00:19:53.000Z","dependencies_parsed_at":"2024-02-25T02:34:13.827Z","dependency_job_id":"77707632-0a56-44e0-863a-d23ebd963c72","html_url":"https://github.com/edigar/noobframework","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/edigar/noobframework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edigar%2Fnoobframework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edigar%2Fnoobframework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edigar%2Fnoobframework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edigar%2Fnoobframework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/edigar","download_url":"https://codeload.github.com/edigar/noobframework/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/edigar%2Fnoobframework/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265101620,"owners_count":23711579,"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":[],"created_at":"2024-11-24T04:13:47.606Z","updated_at":"2025-07-13T07:02:35.297Z","avatar_url":"https://github.com/edigar.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Noobframework\n\nNoobFramework is an MVC framework designed specifically for beginners. It serves as an educational tool for those learning the [MVC design pattern](https://pt.wikipedia.org/wiki/MVC) in [PHP](https://www.php.net/).\n\n## MVC\n\nMVC stands for [Model-View-Controller](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller), which is a widely-used software design pattern. Its fundamental concept involves dividing an application into three interconnected components:\n\n- Model: Responsible for handling data manipulation, including reading, writing, and validation. \n- View: Represents the user interface layer, responsible solely for presenting data to the user. \n- Controller: Acts as an intermediary between the user and the application's logic. It receives user input, determines which model to interact with, and selects the appropriate view to render. Controllers contain methods known as actions.\n\n## Requirements\n\n* [PHP \u003e= 8.3](https://www.php.net/downloads.php)\n* [Composer](https://getcomposer.org)\n\n## Installation\n\nClone or download this repository and install dependencies:\n```bash\ncomposer install\n```\n\nChoose one of the following options (Built-in server or Docker), to run the project.\n\n### Built-in server\n\nIf you prefer to use PHP's built-in server for local development, navigate to the root of the project and run:\n\n```bash\nphp -S localhost:8000\n```\n\n### Docker\n\nFor [Docker](https://www.docker.com/) users, a Dockerfile is provided at the root of the project with the necessary configurations to run the framework. To use Docker:\n\n1. Build the Docker image:\n```bash\ndocker build -t noobframework .\n```\n2. Run the Docker container:\n```bash\ndocker run -d --name noobframework -p 80:80 -v $(pwd):/var/www/html noobframework\n```\n\n## Usage\n\n1. Develop your application within the `app` folder. This folder is organized into Controllers, Models, and Views.\n2. The public folder serves as the document root for your application.\n3. Generate a `.env` file based on `.env.example` (copy, paste and rename it), then configure your application settings within it.\n4. Define your routes in the `route/router.php` file. Routing follows the features of [nikic/fast-route](https://github.com/nikic/FastRoute).\n5. To create a controller, add a new file inside `app/Controller`, similar to existing controllers (e.g., indexController.php). Similarly, add your models inside the Models folder and create views following the examples provided in the views folder.\n6. Each controller can contain multiple actions (methods) corresponding to different user interactions.\n\nFor more, see [documentation](https://edigar.github.io/noobframework-doc).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedigar%2Fnoobframework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fedigar%2Fnoobframework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fedigar%2Fnoobframework/lists"}