{"id":24746453,"url":"https://github.com/OneFolderApp/OneFolder","last_synced_at":"2025-10-10T14:32:55.742Z","repository":{"id":202799331,"uuid":"708159221","full_name":"OneFolderApp/OneFolder","owner":"OneFolderApp","description":"File explorer made for pictures","archived":false,"fork":false,"pushed_at":"2025-09-21T17:08:36.000Z","size":46686,"stargazers_count":361,"open_issues_count":46,"forks_count":17,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-09-21T19:06:54.374Z","etag":null,"topics":["calendar-view","desktop","face-detection","filemanager","object-detection","photos"],"latest_commit_sha":null,"homepage":"https://onefolder.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OneFolderApp.png","metadata":{"files":{"readme":"Docs/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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-21T17:43:36.000Z","updated_at":"2025-09-21T17:08:37.000Z","dependencies_parsed_at":"2025-09-21T19:18:04.181Z","dependency_job_id":null,"html_url":"https://github.com/OneFolderApp/OneFolder","commit_stats":null,"previous_names":["photofolder/app","photofolder/onefolder","onefolderapp/onefolder"],"tags_count":76,"template":false,"template_full_name":null,"purl":"pkg:github/OneFolderApp/OneFolder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneFolderApp%2FOneFolder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneFolderApp%2FOneFolder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneFolderApp%2FOneFolder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneFolderApp%2FOneFolder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OneFolderApp","download_url":"https://codeload.github.com/OneFolderApp/OneFolder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OneFolderApp%2FOneFolder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004176,"owners_count":26083688,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["calendar-view","desktop","face-detection","filemanager","object-detection","photos"],"created_at":"2025-01-28T04:07:18.855Z","updated_at":"2025-10-10T14:32:50.736Z","avatar_url":"https://github.com/OneFolderApp.png","language":"TypeScript","funding_links":[],"categories":["Install from Source","TypeScript"],"sub_categories":["Photos"],"readme":"\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/OneFolderApp/OneFolder/assets/27826950/e12e0f46-a1a8-484f-a443-b71d4a30d37f\"\u003e\n  \u003cimg alt=\"Text changing depending on mode. Light: 'So light!' Dark: 'So dark!'\" src=\"https://github.com/OneFolderApp/OneFolder/assets/27826950/b6291e54-daf9-42c1-8649-ec14532d79c7\"\u003e\n\u003c/picture\u003e\n\n- Website: https://onefolder.app/\n- Roadmap: https://onefolder.canny.io/feedback\n\n## What is it?\nDesktop app to view your photos like you do in Google Photos or Apple Photos (e.g. Calendar, list, map, etc..) but locally and respecting metadata open standards (not creating a separate database to store that information*).\n\nSorting your files this way ensures you always own them, and can store them wathever you want: any cloud provider, a USB Drive or just your computer. They are just files!\n\n![of-screenshot](https://github.com/OneFolderApp/OneFolder/assets/27826950/8a720625-18ce-4bf2-8ad5-c70896af514e)\n![Screenshot 2024-01-25 at 08 33-PhotoRoom](https://github.com/OneFolderApp/OneFolder/assets/27826950/fc735aff-1941-4120-b5e6-b52894e2308a)\n\n## Features\n- Watch folders (it does not copy them in a separate place, it watches and updates the folder in question)\n- List and Grid View\n- Edit metadata\n\nComming soon:\n- Map View\n- Calendar View\n- Detect duplicates\n- HEIC\n\n## Do you want to help?\nThere is many ways people can help:\n- Test new features\n- feedback and suggestion on design\n- Copy Writting and bloggin\n- Detect new communities for growth\n- Coding\n\nIf you are interested here is a form so we can reach out:\nhttps://forms.gle/TpU1NxBQSreadki18\n\n\n## Documentation\n### Stack\nThis project is a fork from [Allusion](https://github.com/allusion-app/Allusion).\n* [ElectronJS](https://www.electronjs.org/) - the framework for desktop development\n* [ReactJS](https://react.dev/) - Front-end library\n* [MobX](https://mobx.js.org/README.html) - State Manadgment\n* [ExifTool](https://exiftool.org/) - Edit image metadata\n* [Annotorious](https://annotorious.github.io/) - Face selection on images\n* [TenserFlowJS](https://www.tensorflow.org/js) - Face detection\n  \n### Quick Start\n\nYou need to have [NodeJS](https://nodejs.org/en/download/) and a package manager such as [Yarn](https://yarnpkg.com/lang/en/docs/install/) installed.\nThen run the following commands to get started:\n\n1. Run `yarn install` to install or update all necessary dependencies.\n2. Run `yarn dev` to build the project files to the `/build` directory. This will keep running to immediately build changed files when they are updated.\n3. In a second terminal, run `yarn start` to start the application. Refresh the window (Ctrl/Cmd + R) after modifying a file to load the updated build files.\n\n### Release Build\n\nAn installable executable can be built using `yarn package` for your platform in the `/dist` folder. The building is performed using the [electron-builder](https://www.electron.build/) package, and is configured by a section in the `package.json` file.\nBuilds are automatically published to Github Releases when a tag is created in GitHub.\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=OneFolderApp/OneFolder\u0026type=Date)](https://star-history.com/#OneFolderApp/OneFolder\u0026Date)\n\n\n\n\n### Releasing\n\nWhen you want to create a new release, follow these steps:\n\n1. Update the version in your project's `package.json` file (e.g. `1.2.3`)\n2. Commit that change (`git commit -am v1.2.3`)\n3. Tag your commit (`git tag v1.2.3`). Make sure your tag name's format is `v*.*.*`. Your workflow will use this tag to detect when to create a release\n4. Push your changes to GitHub (`git push \u0026\u0026 git push --tags`)\n\nAfter building successfully, the action will publish your release artifacts. By default, a new release draft will be created on GitHub with download links for your app. If you want to change this behavior, have a look at the [`electron-builder` docs](https://www.electron.build).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOneFolderApp%2FOneFolder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOneFolderApp%2FOneFolder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOneFolderApp%2FOneFolder/lists"}