All Projects → gRegorLove → indiebookclub

gRegorLove / indiebookclub

Licence: other
indiebookclub is a simple app for tracking books you are reading https://indiebookclub.biz

Programming Languages

PHP
23972 projects - #3 most used programming language
Twig
543 projects
CSS
56736 projects

indiebookclub

indiebookclub is a simple app for tracking books you are reading https://indiebookclub.biz

Installation

indiebookclub requires PHP, MySQL, and Composer. It is intended to be installed at the root of a domain or sub-domain.

  • Set the domain’s document root to the /public directory
  • Configure the server to route requests through /public/index.php if they don’t match a file
    • If you are running Apache, do this by renaming /public/htaccess.txt to /.htaccess
  • Set up MySQL tables using /schema/schema.sql
  • Run composer install
  • Rename /.env.example to /.env and fill in your email, hostname, base URL, and MySQL connection information
    • Optionally specify the LOG_DIR if you want logs stored somewhere other than /logs

Environment Variables

In development, environment variables are loaded from the .env file on each request. In production, it is recommended to set/cache them in the environment to avoid that overhead.

To cache environment variables, run at the command line: php ./deploy.php

This will cache the environment variables in the file /app/env.php.

Once cached, if you make updates to .env, you will need to run this command again to update the cache. You can also delete this cache file and the application will revert to development mode, loading directly from the .env file on each request.

Advanced: If your hosting lets you set up environment variables another way, you can look in /app/config.php to change the code that checks for that cached environment file.

Maintenance Mode

Maintenance mode displays a maintenance message in place of all pages on the app. You can specify an IP address that is able to browse the site normally.

To enable maintenance mode, update /app/settings.php. Set offline to true and developer_ip to your IP address.

Development Mode

Development mode displays all error messages and restricts login to a single domain. Unlike maintenance mode, public pages remain visible and do not display a maintenance message.

To enable development mode, set the environment variable APP_ENV to dev (or anything other than production). Then update /app/settings.php and update developer_domains with the domain(s) you want to enable logins for.

Changelog

Credits

License

Copyright 2018 by gRegor Morrill. Licensed under the MIT license https://opensource.org/licenses/MIT

This project also uses code with the following copyright and licenses:

  • PhpIsbn library Copyright 2012 by Michael White. Licensed under the MIT license.
  • Teacup Copyright 2014 by Aaron Parecki. Licensed under the Apache License, Version 2.0.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].