GithubHelp home page GithubHelp logo

tctlrd / fantasy-calendar Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fantasycalendar/fantasy-calendar

0.0 0.0 0.0 19.82 MB

Build a calendar that fits your world! Whether you're a GM just here to track your Forgotten Realms campaign with a preset calendar, or a fanciful world-builder with 12 moons (Like Eberron's) and zany timekeeping systems to match, we've got you covered.

Home Page: https://app.fantasy-calendar.com

Shell 0.10% PHP 75.39% Makefile 0.18% Vue 0.02% Blade 24.17% Dockerfile 0.13%

fantasy-calendar's Introduction

Fantasy-Calendar

Fantasy-Calendar is a general-purpose fantasy calendar creation and tracking software.

A what?

Well, whether you're a GM looking to track the events of a long-running Forgotten Realms campaign, an author, or simply a world-builder who likes to have wacky celestial configurations (Such as Eberron's 12 moons) with zany timekeeping systems to match, you probably need a calendar of some kind.

"Game time is of utmost importance [...] you can not have a meaningful campaign if strict time records are not kept."
-Gary Gygax

Fantasy-Calendar seeks to do it all, whether you're creating your own complicated calendar with tons of interesting edge-cases, or using presets such as the Forgotten Realms, Eberron, or Exandria for simple time-keeping.

Run Using Docker

We recommend development using Docker, as it's what we use and it makes things like setting up the PHP environment a breeze. As long as you already have Docker installed, actually getting up and running is pretty straightforward. First you'll want to run:

$ make

That runs the default initialize_dev entry in FC's Makefile, which:

  • Copies the default .env to the appropriate location
  • Builds all of FC's container images
  • Installs npm dependencies
  • Installs composer dependencies
  • Starts docker containers
  • Runs artisan migrate
  • Stops docker containers

We've also provided a handy aliases.sh to make some common tasks/aliases/etc., easier. So, after you've run make, we recommend source aliases.sh. I'd list all the aliases here, but ... just go read the file, it's super straightforward.

The Containers

The default docker-compose up will create quite a few containers:

Container Purpose
fc-mariadb MariaDB, configured to create a default database .
fc-bref-web nginx web server, configured to appropriately.
fantasy_calendar_php An extended php-fpm with PDO and composer installed, as well as some default environment variables for a docker setup.
selenium This is a headless Chrome install used for integration tests
fcredis A Redis container, used for caching and queues
fantasy-calendar-composer-install This is a once-run, randomly-named container that does one thing: runs composer install . This makes it so that running a simple docker-compose up or docker-compose up -d any time you pull the latest version of this repo will make sure you have the latest versions of any composer-managed packages.
npm This runs npm run dev-install-watch, which installs deps and automatically rebuilds assets as they change.
mailhog Available on localhost:8025, Mailhog captures outgoing mail.

If everything has gone smoothly, after make and docker-compose up, you should have a functional development environment available at http://localhost:9980/.

Setting up your own environment

Fantasy Calendar is just a Laravel app. So you'll need the usual installation process for a Laravel application, along with two extra PHP extensions: imagick and gmp.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

fantasy-calendar's People

Contributors

haxxer avatar v13axel avatar dependabot[bot] avatar

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.