Difegue / DoujinSoft

Web Shop/Archive for WarioWare DIY games.
https://diy.tvc-16.science/
GNU General Public License v3.0
51 stars 6 forks source link
diy hacktoberfest java mio warioware

DoujinSoft

Docker Pulls

screen1

Java Web Application for managing and distributing WWDIY content.
Relies on DIYEdit and Mio-Micro.
Uses SQLite, materializeCSS and jQuery.

Features

Using the API

Adding &format=json to most search pages in the webapp will give you a JSON equivalent. Use at will! 🙋‍♂️

Environment variables

Deploy/develop on Codespaces

You can use GitHub Codespaces to develop on the app using the provided configuration.
Once in the codespace, you should be able to use npm run dev-server to immediately build/start a DoujinSoft instance.

Deploying through Docker

You can deploy the provided Docker image by mapping a volume to /home/doujinsoft:

docker run --mount type=bind,src=/my/data/directory,dst=/home/doujinsoft -p 8080:8080 difegue/doujinsoft

If you want to use WC24 interop, the environment variables WII_NUMBER, WII_FALLBACK, WC24_SERVER and WC24_PASSWORD must be defined.

Deploying manually

Get the release WAR (or just build it with maven from the sources)
Edit your tomcat context to specify your data directory:

nano /var/lib/tomcat8/conf/context.xml

<Parameter name="dataDirectory" value="/home/DoujinSoft-data" override="false"/>

Create the folder you specified in the Parameter (here /home/DoujinSoft-data), and add .mio files to a "mio" subfolder in it.
Don't forget to make it R/W by your tomcat server.

cd /home
mkdir DoujinSoft-data
chown tomcat8 DoujinSoft-data/
chmod -R 755 DoujinSoft-data/

Drop the WAR into your tomcat webapps directory to start deployment.

If you have a tomcat installed to /usr/local/tomcat, you can use the provided dev-server.sh script to start a DoujinSoft instance.
Keep in mind said script will overwrite your ROOT.war, and requires the /home/doujinsoft directory to exist.

Adding .mio files

Add .mio files to the "mio" subfolder in your data directory. The files will be consumed and added to the database.
(This part might take a little time, benchmarks show a ~5 minutes deploy time for 2000 .mio files.)
You can then access the Webapp and check everything's working.

Adding Collections

Collections allow you to display a specific subset of Games to the user through a simple JSON file.
Collection JSON files go in your data directory, subfolder "data/collections". An example file is included at the root of this project.
Correctly written collections will be linked in the home page of the Webapp.

More screenshots

screen2 screen3