{"id":15598683,"url":"https://github.com/jofaval/template","last_synced_at":"2025-07-04T19:04:35.728Z","repository":{"id":125618404,"uuid":"444219695","full_name":"jofaval/template","owner":"jofaval","description":"Template of a project","archived":false,"fork":false,"pushed_at":"2022-01-05T01:54:15.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-04T12:52:08.292Z","etag":null,"topics":["github","good-practices","project","project-template","template"],"latest_commit_sha":null,"homepage":"https://jofaval.github.io/template/","language":null,"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/jofaval.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2022-01-03T22:43:38.000Z","updated_at":"2022-01-06T23:43:07.000Z","dependencies_parsed_at":"2023-08-12T06:02:18.772Z","dependency_job_id":null,"html_url":"https://github.com/jofaval/template","commit_stats":{"total_commits":9,"total_committers":2,"mean_commits":4.5,"dds":"0.11111111111111116","last_synced_commit":"56fa9b6d01ed7b000557137a45ec432b2d6c7a47"},"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jofaval%2Ftemplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jofaval%2Ftemplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jofaval%2Ftemplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jofaval%2Ftemplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jofaval","download_url":"https://codeload.github.com/jofaval/template/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246180923,"owners_count":20736460,"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":["github","good-practices","project","project-template","template"],"created_at":"2024-10-03T01:41:00.733Z","updated_at":"2025-03-29T12:14:21.704Z","avatar_url":"https://github.com/jofaval.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Name #\n\nBrief description of the project\n\n## Description\n\nFull-on detail description about the project.\n\nIt can also render on a `.github.io` page, use that to your advantage.\n\n## Table of contents\n\n|                  Name                  |           Description           |\n|:--------------------------------------:|:-------------------------------:|\n|         [Objective](#objective)        |               Why?              |\n|          [Features](#features)         |        What does it have?       |\n|       [Disclaimer!](#disclaimer)       |          Brief heads up         |\n|        [Advice/Tip](#advicetip)        |           Helping hand          |\n|     [Documentation](#documentation)    |      How to use the system      |\n| [How to set it up?](#how-to-set-it-up) |      How to use it locally      |\n|    [How to deploy?](#how-to-deploy)    |  How to upload it to production |\n|           [Testing](#testing)          |         All the testing         |\n|             [Usage](#usage)            |      How to boot the system     |\n|               [CLI](#cli)              |    The Command-Line Interface   |\n|      [Legal notice](#legal-notice)     |           Legal notice          |\n|           [License](#license)          |     The License we're using     |\n|          [Examples](#examples)         |      Some examples of usage     |\n|         [Gratitude](#gratitude)        |       Who am I thankful to      |\n|           [Credits](#credits)          | This project was made thanks to |\n\n## Objective\n\nWhat we're trying to fill/improve/fix/create.\n\n### Technical Goals\n\n- It should be a robust system that never breaks!\n\n### Bussiness Goals\n\n- No final customer will have any complaints about it!\n\n## Features\n\n- It works!\n- No seriously, it does!\n\n## Disclaimer!!\n\nUse at your own risk!\n\n## Advice/Tip!\n\nUse `node.js` for a same-lang environment.\n\n## Documentation\n\nAll the documentation can be found either at our [wiki](./wiki) or at our `docs/` folder.\n\n### Folder Structure\n\n```explorer\ntemplate\n ┣ .github\n ┃ ┗ actions\n ┃ ┃ ┗ main.yml\n ┣ build\n ┃ ┗ BUILDS_HERE\n ┣ docs\n ┃ ┗ en\n ┃ ┃ ┗ parameters.md\n ┣ src\n ┃ ┗ YOUR_CODE_HERE\n ┣ tests\n ┃ ┗ YOUR_TESTS_HERE\n ┣ tools\n ┃ ┗ YOUR_UTILITIES_HERE\n ┣ .gitignore\n ┣ CHANGELOG.md\n ┣ LICENSE.md\n ┣ README.md\n ┗ _config.yml\n ```\n\n## How to set it up?\n\n### Pre-requisites\n- `node.js` \u003e= 15.x.x compatibility.\n- Server with Apache/Nginx support.\n\n### Install\n```bash\ngit clone https://github.com/jofaval/template\n```\n\n### Use\n\nFor the usage take a look at the [`Use` section](#usage)\n\n## How to deploy?\n\n### Notice\n\n- The `public/` folder must always be the main one to use\n- NO PRIVATE KEYS!! Check that you're putting all the information into `secrets` or `.env`s\n\n### Using the CI/CD\n\nPush directly into `master`/`main` all the changes, and merge them\n\n### With the tools\n\n```bash\ndeploy.sh\n```\n\n## Testing\n\nAny disclaimer about your testing\n\n### How to execute all the tests in the system?\n\nExecute the `test.bat` or\n```bash\nnpm test\n```\n\nor with `PHP`\n\n```bash\nphpunit UnitTest\n```\n\n### How to create a new test bench?\n\n\u003cdetails\u003e\u003csummary\u003eShow instructions\u003c/summary\u003e\n\nCreate a new `describe` call with the `name` and `lambda` function\n\n```javascript\ndescribe('Customer', () =\u003e {\n\n});\n```\n\nor with `PHP`\n\nCreate a new class in the `tests/` folder that extends from `TestCase`\n\n```php\nclass CustomerTest extends TestCase\n{\n\n}\n```\n\u003c/details\u003e\n\n### How to create a new test?\n\n\u003cdetails\u003e\u003csummary\u003eShow instructions\u003c/summary\u003e\n\nCreate a new `it` call with all the asserts you want\n\n```javascript\ndescribe('Customer', () =\u003e {\n\n  it('Create a customer', async () =\u003e {\n    const customer = createCustomer({\n        'name': 'John',\n    });\n\n    expect(customer.name).toEqual('John');\n  });\n\n});\n```\n\nor with `PHP`\n\nInside that new class, create a new `describe` method that starts with `test` and follows the `camelCase`\n\n```php\nclass CustomerTest extends TestCase\n{\n    # code...\n\n    public function testName(): void\n    {\n        $this-\u003eassertEquals($this-\u003ecustomer-\u003ename, 'John');\n    }\n\n    # code...\n}\n```\n\u003c/details\u003e\n\n## Usage\n\n### Frontend\n\n#### `npm start`\n\nRuns the app in the development mode.\\\nOpen [http://localhost:3000](http://localhost:3000) to view it in your browser.\n\nThe page will reload when you make changes.\\\nYou may also see any lint errors in the console.\n\n#### `npm test`\n\nLaunches the test runner in the interactive watch mode.\\\nSee the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.\n\n#### `npm run build`\n\nBuilds the app for production to the `build` folder.\\\nIt correctly bundles React in production mode and optimizes the build for the best performance.\n\nThe build is minified and the filenames include the hashes.\\\nYour app is ready to be deployed!\n\nSee the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.\n\n### Backend\n\n#### `npm start`\n\nStarts the server\n\n## CLI\n\nHow to use the CLI\n\n### Advantages\n\nHow does it improve the workflow\n\n### How to use it?\n\n```bash\ncli make endpoint\n```\n\n## Legal notice\n\nThis project can't and won't be used in **NFTs**.\n\n## License\n\nThis project uses the `ISC License`, take a look at it [here](./LICENSE.md)\n\n## Examples\n\n### Hello World!\n```javascript\nconsole.log('The answer is 42.');\n```\n\n## Gratitude\n\n- Linus Torvalds, for creating `Git`\n\n## Credits\n\n- https://soulaimanghanem.medium.com/github-repository-structure-best-practices-248e6effc405\n- The internet community\n- `WholesomeMemes` on Twitter\n- Markdown tables using: https://www.tablesgenerator.com/markdown_tables","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjofaval%2Ftemplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjofaval%2Ftemplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjofaval%2Ftemplate/lists"}