{"id":16624900,"url":"https://github.com/difegue/doujinsoft","last_synced_at":"2025-06-17T06:06:34.385Z","repository":{"id":21208963,"uuid":"89537132","full_name":"Difegue/DoujinSoft","owner":"Difegue","description":"Web Shop/Archive for WarioWare DIY games. ","archived":false,"fork":false,"pushed_at":"2025-05-31T15:30:13.000Z","size":93098,"stargazers_count":63,"open_issues_count":5,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-01T03:41:19.188Z","etag":null,"topics":["diy","hacktoberfest","java","mio","warioware"],"latest_commit_sha":null,"homepage":"https://diy.tvc-16.science/","language":"Java","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/Difegue.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"difegue","patreon":null,"open_collective":null,"ko_fi":"difegue","tidelift":null}},"created_at":"2017-04-27T00:00:18.000Z","updated_at":"2025-05-31T15:30:16.000Z","dependencies_parsed_at":"2023-11-14T00:28:48.141Z","dependency_job_id":"b14a5139-9b76-415d-9b21-5f70e6cbdb84","html_url":"https://github.com/Difegue/DoujinSoft","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/Difegue/DoujinSoft","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Difegue%2FDoujinSoft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Difegue%2FDoujinSoft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Difegue%2FDoujinSoft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Difegue%2FDoujinSoft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Difegue","download_url":"https://codeload.github.com/Difegue/DoujinSoft/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Difegue%2FDoujinSoft/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260301992,"owners_count":22988722,"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":["diy","hacktoberfest","java","mio","warioware"],"created_at":"2024-10-12T03:48:35.686Z","updated_at":"2025-06-17T06:06:34.353Z","avatar_url":"https://github.com/Difegue.png","language":"Java","funding_links":["https://github.com/sponsors/difegue","https://ko-fi.com/difegue"],"categories":[],"sub_categories":[],"readme":"# DoujinSoft\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/difegue/doujinsoft.svg)](https://hub.docker.com/r/difegue/doujinsoft/)\n\n![screen1](https://cloud.githubusercontent.com/assets/8237712/26278790/4ffd633a-3da3-11e7-865f-015cab5fef5e.png)\n\nJava Web Application for managing and distributing WWDIY content.  \nRelies on [DIYEdit](https://github.com/xperia64/DIYEdit) and [Mio-Micro](https://github.com/yeahross0/Mio-Micro).  \nUses SQLite, materializeCSS and jQuery.  \n\n## Features  \n\n* .mio files dropped into the Webapp's data directory are parsed and added to the archive (on every app restart)\n* Searchable lists with pages for every content (Games/Comics/Records)\n* Comics can be directly read through the user's browser\n* Records can be listened to through the browser (uses [mio-midi](https://www.npmjs.com/package/mio-midi))  \n  - Midi files are played back using a custom soundfont based on [this one](https://musical-artifacts.com/artifacts/490).  \n* All the content available on the archive can be automatically inserted into a game save provided by the user.\n* Basic JSON API.\n* `iframe` support so you can embed WarioWare DIY content on your own webpage.  \n\n## Using the API\n\nAdding `\u0026format=json` to most search pages in the webapp will give you a JSON equivalent. Use at will! 🙋‍♂️  \n\n## Environment variables\n\n* WII_NUMBER: Wii Friend Code associated to the DoujinSoft WiiConnect24 account.\n* WII_FALLBACK: Wii Friend Code that will receive Wii Mail forwarded from DoujinSoft.\n* WC24_SERVER: WiiConnect24 server URL. Currently, there's only really `rc24.xyz`...\n* WC24_PASSWORD: Password for the DoujinSoft WiiConnect24 account\n* WC24_DEBUG: Add this variable to log additional Wii Mail data.  \n* DSOFT_PASS: Password for the Admin console.\n* WEBHOOK_URL: URL for a webhook. This hook is hit whenever new content is uploaded to DoujinSoft.\n\n## Deploy/develop on Codespaces\n\nYou can use [GitHub Codespaces](https://github.com/Difegue/DoujinSoft/codespaces) to develop on the app using the provided configuration.  \nOnce in the codespace, you should be able to use `npm run dev-server` to immediately build/start a DoujinSoft instance.\n\n## Deploying through Docker\n\nYou can deploy the provided [Docker image](https://hub.docker.com/r/difegue/doujinsoft) by mapping a volume to /home/doujinsoft:\n```\ndocker run --mount type=bind,src=/my/data/directory,dst=/home/doujinsoft -p 8080:8080 difegue/doujinsoft\n```  \n\nIf you want to use WC24 interop, the environment variables WII_NUMBER, WII_FALLBACK, WC24_SERVER and WC24_PASSWORD must be defined.  \n\n## Deploying manually\n\nGet the [release WAR](https://github.com/Difegue/DoujinSoft/releases) (or just build it with maven from the sources)  \nEdit your tomcat context to specify your data directory:  \n```\nnano /var/lib/tomcat8/conf/context.xml\n\n\u003cParameter name=\"dataDirectory\" value=\"/home/DoujinSoft-data\" override=\"false\"/\u003e\n```   \nCreate the folder you specified in the Parameter (here /home/DoujinSoft-data), and add .mio files to a \"mio\" subfolder in it.  \nDon't forget to make it R/W by your tomcat server.  \n```\ncd /home\nmkdir DoujinSoft-data\nchown tomcat8 DoujinSoft-data/\nchmod -R 755 DoujinSoft-data/\n```\nDrop the WAR into your tomcat webapps directory to start deployment. \n\nIf you have a tomcat installed to `/usr/local/tomcat`, you can use the provided `dev-server.sh` script to start a DoujinSoft instance.  \nKeep in mind said script will overwrite your ROOT.war, and requires the `/home/doujinsoft` directory to exist.  \n\n## Adding .mio files\n\nAdd .mio files to the \"mio\" subfolder in your data directory.\nThe files will be consumed and added to the database.  \n(This part might take a little time, benchmarks show a ~5 minutes deploy time for 2000 .mio files.)  \nYou can then access the Webapp and check everything's working.\n\n## Adding Collections\n\nCollections allow you to display a specific subset of Games to the user through a simple JSON file.  \nCollection JSON files go in your data directory, subfolder \"data/collections\". An example file is included at the root of this project.  \nCorrectly written collections will be linked in the home page of the Webapp.\n\n## More screenshots\n![screen2](https://cloud.githubusercontent.com/assets/8237712/26278791/4fff292c-3da3-11e7-96be-575c8c96ab0b.png)\n![screen3](https://cloud.githubusercontent.com/assets/8237712/26278792/50025d7c-3da3-11e7-947d-d87debba05c9.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdifegue%2Fdoujinsoft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdifegue%2Fdoujinsoft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdifegue%2Fdoujinsoft/lists"}