Giter Site home page Giter Site logo

digitalmachinist / mvm Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 2.77 MB

A tool for mapping out and analyzing 2D metroidvania games where progression depends on locks and keys.

License: GNU General Public License v3.0

PHP 59.53% HTML 4.14% Shell 10.50% Vue 4.56% Dockerfile 17.43% Groovy 0.21% Python 0.83% VCL 2.80%

mvm's Introduction

mvm

A tool for mapping out and analyzing 2D metroidvania games where progression depends on locks and keys.

Getting started

Check out the project

git clone [email protected]:DigitalMachinist/mvm.git
cp .env.example .env

Spin up the backend

After completing the steps above to check out the project files:

./dup
./dinstall
./dcreatekey
./dcreatedatabase

Visit http://localhost in your browser to confirm the backend is being hosted.

Spin up the frontend

After complting the steps above to get the backend working:

./dnuxtinstall
./dnuxtdev

Visit http://localhost:3000 in your browser to confirm the frontend is being hosted.

Laradock/Docker

This project uses Laradock to host a local dev environment via docker.

When the docker container is running, visit http://localhost to open the app in the browser. You can start the docker container with the ./dup command, which is outlined below.

Note: I had to remove the --with-libzip argument from a line in ./laradock/php-fpm/Dockerfile to allow PHP 7.4 to be built withour errors!

Note: I had to add a port export of 3000:3000 to the workspace container's docker-compose.yml to allow the host machine to view the frontend at http://localhost:3000.

Bash commands

These bash commands exist as shorthands to the most common docker-compose commands that I need to run on the docker container.

If you run composer/artisan/etc commands outside of the docker container you can expect to have problems! Use these!

Command Interactive? Description
danalyze No Run static analysis on the whole app.
dannotate No Update code symbols for use by pslam and Intelliphense.
dbash Yes Open a bash terminal within the docker container to execute bash commands.
dcreatedatabase No Create a new database and run migrations.
dcreatekey No Generate a new application key.
ddown No Stop the docker container.
dhorizon Yes Start Horizon within the docker container to process queued jobs for all queues.
dinstall No Composer install within the docker container to fetch dependencies.
dinstallquiet No Composer install withing the docker conttainer to fetch dependencies silently and non-interactively.
dlint No Style guide validate PHP files only from the current diff.
dlinteverything No Style guide validate PHP files across the whole app.
dlist No List out the docker containers running in this network.
dlogs No Display the docker network logs.
dmysql Yes Open a mysql terminal within the docker container to execute SQL commamnds.
dnuxtbuild No Build the nuxt frontend app files.
dnuxtdev Yes Build & start the nuxt frontend app (begin hosting the frontend at http://localhost:3000) and watch for changes.
dnuxtlint No Style guide validate nuxt frontend files.
dnuxtstart Yes Start the nuxt frontend app (begin hosting the frontend at http://localhost:3000).
dredis Yes Open a redis terminal within the docker container to execute Redis commamnds.
dtail Yes Open a tail of laravel.log that updates reactively.
dtest No Run phpunit tests on the whole app.
dtinker Yes Open an artisan tinker terminal within the docker container to execute PHP commands.
dup No Start the docker container (begin hosting the backend at http://localhost).

Dashboards

These dashboards are part of the app and are only live when the app is hosted.

Dashboard URL
Log Viewer http://localhost/log-viewer
Clockwork http://localhost/__clockwork
Horizon http://localhost/horizon
Telescope http://localhost/telescope

These dashboards are offered by external services, so you'll need login creds to get to these.

Dashboard URL
Algolia https://www.algolia.com/apps/Z0DB271DZ3/dashboard
Bugsnag https://app.bugsnag.com/axon-interactive/mvm
Cloudinary https://cloudinary.com/console/welcome
Codecov https://codecov.io/gh/DigitalMachinist/mvm

Local MySQL Connection

To connect to mysqld within the docker container from your host machine, use the following creds in Sequel Pro or whatever:

DB_HOST=0.0.0.0
DB_PORT=13306
DB_DATABASE=mvm
DB_USERNAME=root
DB_PASSWORD=root

Local Redis Connection

To connect to redis within the docker container from your host machine, use the following creds in RDM or whatever:

REDIS_HOST=0.0.0.0
REDIS_PORT=16379

Backend Notes

This app's backend structure is based off of Laravel Beyond CRUD, which details the structure of projects at Spatie in reasonable detail. I'll be leaning on these patterns and spatie packages heavily here.

PHP code symbol maps are auto-generated on composer update, composer install and after git checkout.

3rd party packages I'm using

Dev only packages

Frontend Notes

This app's frontend is based off of Laravel-Nuxt, so feel free to check their documentation regarding any issues with the frontend setup.

Examples worth remembering

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.