{"id":26709212,"url":"https://github.com/syntapy/test_driven_web_app_template","last_synced_at":"2026-05-09T16:12:25.443Z","repository":{"id":266547359,"uuid":"898657501","full_name":"syntapy/test_driven_web_app_template","owner":"syntapy","description":"Template Repo: Dockerized screenshot tests for web app","archived":false,"fork":false,"pushed_at":"2025-03-06T03:39:49.000Z","size":29,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T08:14:48.211Z","etag":null,"topics":["cypress","end-to-end-testing","frontend","playwright","test-automation","webapp"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syntapy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-12-04T19:40:03.000Z","updated_at":"2025-03-18T15:57:03.000Z","dependencies_parsed_at":"2024-12-04T20:39:03.656Z","dependency_job_id":"d262aaa4-6bb3-4306-904c-aa50103ab3f1","html_url":"https://github.com/syntapy/test_driven_web_app_template","commit_stats":null,"previous_names":["syntapy/test-driven-web-app-template","syntapy/test_driven_web_app_template"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntapy%2Ftest_driven_web_app_template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntapy%2Ftest_driven_web_app_template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntapy%2Ftest_driven_web_app_template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntapy%2Ftest_driven_web_app_template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syntapy","download_url":"https://codeload.github.com/syntapy/test_driven_web_app_template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245806458,"owners_count":20675298,"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":["cypress","end-to-end-testing","frontend","playwright","test-automation","webapp"],"created_at":"2025-03-27T08:14:51.953Z","updated_at":"2025-10-26T13:15:04.065Z","avatar_url":"https://github.com/syntapy.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Intro\n\nBoilerplate to run web app and automated browser test client in separate docker containers\n\nAlso provides github actions workflow template\n\n## Motivation\n\nFor me, screenshot tests don't match locally with Github Actions. But I am also on a non-standard OS (Qubes OS) which runs linux using Xen hypervisor, so that may be why\n\nI'm doing this to make it easy for me to start a new web app project with reliable test driven functionality\n\nTest driven development is nice and fun to have, and makes refactoring a breeze.\nAs such I want to make this the core of my development habit as I learn\n\nThis tries to help get rid of the tedium of setting up automated testing\n\nDocker is used to make screenshot tests reliable across different machines, e.g. the local dev environment and CI tests in the cloud\n\nIt probably won't help with enabling exact screen renderings across different CPU architectures though, from what I've read online, but I don't have experience to say that definitively\n\n# Usage\n\nThis is tested in Linux. I have no idea if it may work in Windows\n\n### Installation\n\nThis needs Docker installed so that there is access to `docker` and `docker compose`\n\n### Setup\n\n- Specify image and docker repository names for your app and test client in the `docker/.env` file, as indicated by the `docker/env_example` file\n- Web app code goes in `app/` dir, and test client goes in `test/` dir. Maybe best to use submodules for those? Idk...\n- Environment for your app is specified in `docker/Dockerfile.app`\n- Environment for your test client is specified in `docker/Dockerfile.test`\n\n#### Pre-mod\nYou'll want to delete the if statement in `.github/workflows/test.yml` to actually run the app test\n\n#### Permissions\nFor the workflow to be able to make pull requests, you need to set permissions.\n\nIn your repository, go into `Settings` \u003e `Actions` \u003e `General`\n\nThere under `Workflow permissions` check the `Allow GitHub Actions to create and approve pull requests`\n\n### Running\n\nThe shell scripts to run the app are in `bin` folder\n\n- Run web app with `./bin/up_app` from repository root dir\n  - Can use options to set entrypoint and command for web app container\n  - Run `./bin/up_app -h` for usage\n- In separate terminal run test client shell with `./bin/run_test`\n  - This allows you to run `npm` commands there directly\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyntapy%2Ftest_driven_web_app_template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyntapy%2Ftest_driven_web_app_template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyntapy%2Ftest_driven_web_app_template/lists"}