Giter Club home page Giter Club logo

app.easyshops.example's Introduction

EASY.SHOPS

Laravel 8 RESTful API with React.js 17 frontend

The Laravel 8 REST API implements the following:

  • OAuth2 API authentication
  • Multi level user access
  • Google Maps Places API search and import
  • Google Photos import
  • Repository design pattern
  • API Resources
  • Pivot tables

The React 17 frontend implements the following:

  • Responsive layout
  • Google Map with custom pins and "drag and drop" position
  • Google Places API search
  • Module I18next used to translate from English to Romanian

The ReactJS application can be found in /resources/admin/.
It serves as an example to show that I am accustomed with both programming styles: functional based components with hooks and class based components.
Global state is managed by Redux and can be found in /resources/admin/js/stores/.

Installation

Create database:

mysql> create database easyshops;

Copy file .env.example to .env
$ cp .env.example .env
and edit .env file based on your settings:
- database: DB_USERNAME, DB_PASSWORD
- main user: ADMIN_CREDENTIALS_EMAIL; ADMIN_CREDENTIALS_PASSWD


Copy the virtual host file from /debian/ to your apache directory.
$ cp -fr debian/app.easyshops.localhost.conf /etc/apache2/sites-available/
Change file /etc/apache2/sites-available/app.easyshops.localhost.conf with your paths.

Activate the virtual host and reload apache:
$ sudo a2ensite app.easyshops.localhost.conf
$ sudo systemctl reload apache2
Apache mod_rewrite must be enabled ($ sudo a2enmod rewrite)

Add the following line to your /etc/hosts:
127.0.1.1	app.easyshops.localhost

Install dependencies using composer:
$ composer install

Run DB migration with seed flag:
$ php artisan migrate --seed

Create a Password Grant Client:
$ php artisan passport:client --password

What should we name the password grant client? [EASY.SHOPS Password Grant Client]:

password

Which user provider should this client use to retrieve users? [users]: [0] users

Password grant client created successfully.

Edit .env with the generated ID and secret:

MIX_ADMIN_CLIENT_ID=---Client ID-here---
MIX_ADMIN_CLIENT_SECRET="---Client secret-here---"

Install front-end dependencies:
$ npm install

Generate a production build:
$ npm run prod

app.easyshops.example's People

Contributors

artizanatweb avatar

Watchers

 avatar  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.