Skip to content

Latest commit

 

History

History
118 lines (79 loc) · 4.1 KB

README.md

File metadata and controls

118 lines (79 loc) · 4.1 KB

ShoppingListApi

Backend API to manage your shopping list, written with Laravel. Manage your shopping list and share them with your family and flatmates.

Why is this so awesome?

  • Multiple shopping lists | You can create multiple shopping lists.
  • Share shopping lists | You can share shopping lists with a view clicks click with other users or via Social Media (Telegram, E-Mail, etc.).
  • Desktop and mobile apps | They are comming soon...
  • Sync with other devices | Sync with other devices at your account.
  • Offline editing | Manage your lists offline and sync them after you connected to the internet.

Getting Started

Get the latest release or clone the repo with

git clone https://git.narrenhaus.ch/Narrenhaus/ShoppingListApi.git

Prerequisites

  • LAMP Stack (only on production)
  • Requirements for laravel
  • Composer
  • NPM

Installing

It's recommended to install and update this software with docker/docker-compose. See here for more information.

Alternatively or for development purposes you can make a manual installation on any linux/unix machine:

Manual installation

  • Install composer packages composer install
  • Install NPM packages npm install
  • Copy .env.example to .env and modify it to your needs
  • Generate an app key php artisan key:generate
  • Migrate the database php artisan migrate
  • Add following to your crontab:
  *  *  *  *  *  www-data   cd /path-to-the-project && php artisan schedule:run >> /dev/null 2>&1

Manual development deployment

  • If not already done, install everything
  • Run the server php artisan serve
  • Watch for style and js changes: npm run watch

Manual production deployment

  • If not already done, install everything
  • Optimize composer autoload composer install --optimize-autoloader --no-dev
  • Enable caching:
php artisan config:cache
php artisan route:cache
php artisan view:cache
  • Optimize npm packages: npm run prod

Update

Translations

Translations are manually managed in resources/lang/*.json and resources/lang/*/*.php.

IDE helpers

You get better IDE IntelliSense support with the laravel-ide-helper package.

You need to generate the helpers by yourself:

composer run ide-helper:generate

After that, you should run the commands from Testing / Code Quality.

Testing / Code Quality

  • Run static code analytics composer run phpstan
  • Run PHP Coding Standards Fixer composer run php-cs-fixer

Built With

Contributing

Please see CONTRIBUTING for details.

Authors

  • Benjamin Ammann - Initial work - ammannbe

License

This project is licensed under the AGPLv3 or later - see the LICENSE file for details