Home
Softono

Fantasy Calendar

Open source PHP
140
Stars
12
Forks
56
Issues
5
Watchers
3 months
Last Commit

 About Fantasy Calendar

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.

Platforms

Web Self-hosted

Languages

PHP

Need Help Installing Fantasy Calendar?

We provide expert installation service for this software. Our team will install, configure, and secure Fantasy Calendar on your server. plans start at just $30.

Fantasy Calendar

View on GitHub

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.