Built using Laravel for Server API and React for the client side.
Japanese data comes from Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.
- Make sure you have composer installed.
- Make sure you have latest stable version of node installed.
Documentation on how to install composer.
To run this project you need and npm installed on you machine. These are some tutorials to install node in different operating systems:
Its important to install the latest version of Node
- laravel-snappy - for PDF generating. wkhtmltopdf is required in order for the library to work.
- passport
- laravel helpers - more comfortable customized version of the original laravel helpers
- laravel/ui - scaffolding for the frontend. In this project React was used.
- react-moment of moment for date formatting.
- axios for HTTP requesting.
- react-bootstrap for navdropbars with links and bootstrap for overall responsiveness.
- react-router-bootstrap for react-router and react-bootstrap integration.
- redux, redux-thunk and react-redux for redux single-source state management.
- create-react-app.
git clone https://AVaiciulis3000@bitbucket.org/AVaiciulis3000/japanese-vma.git
After cloning, cd into project and run:
composer install
Change .env file settings for your database.
cp .env.example .env
Generate unique app key
php artisan key:generate
Migrate DB tables
NOTICE
BEFORE MIGRATING, NEED TO MAKE SURE THAT MYSQL CONFIG IN my.ini THE FOLLOWING LINE IS UPDATED TO IMPORT LARGE FILES
max_allowed_packet=128M
If mysql config is correct, proceed steps below
# Create common tables
php artisan migrate --path=database/migrations/now
# Create japanese material tables
php artisan migrate --path=database/migrations/japanese-data
Add Passport clients
# Create new tables for Passport
php artisan migrate
# Install encryption keys and other necessary stuff for Passport
php artisan passport:install
Seed initial data
# Necessary to fill-up the categories for the resources objects in "objecttemplates" table.
# Creates common and admin users
# Some custom lists
# Some articles
php artisan db:seed
API Documentation page
# to require needed modules
npm install
# to watch changes
npm run watch
Add all node modules used in the react app.
npm install
Start react app
npm start