Lara-ecommerce

This is a simple E-commerce application developed on Laravel 5.7 framework.

Features

  • Mail verified login registration with Github and Facebook OAuth2
  • Any user can see the active products and logged in user can add products to cart
  • User can only see the history of his/her own orders, other orders are restricted
  • Mail notification for every successful checkout
  • Factory and Seeder used to generate dummy data for testing purpose
  • Eloquent model relationship, Eager loading used for adding and retrieving data

Installation

  1. Clone GitHub repo for this project locally

    git clone https://github.com/utshab-roy/lara-ecommerce.git
    
    1
  2. cd into your project

    cd lara-ecommerce
    
    1
  3. Create a copy of your .env file

    cp .env.example .env
    
    1

    This will create a copy of the .env.example file in your project and name the copy simply .env.

  4. Install Composer Dependencies

    composer install
    
    1
  5. Install NPM Dependencies

    npm install
    
    1

    Or you can use

    yarn install
    
    1
  6. Generate an app encryption key

    php artisan key:generate
    
    1

    If you check the .env file again, you will see that it now has a long random string of characters in the APP_KEY field. We now have a valid app encryption key.

  7. Create an empty database for our application

  8. In the .env file, add database information to allow Laravel to connect to the database

    In the .env file fill in the DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, and DB_PASSWORD options to match the credentials of the database you just created. This will allow us to run migrations and seed the database in the next step.

    In order to use the mail smtp protocol for the test, change the MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD credentials according to your setup.

    For OAuth2 for Github login include GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET and define the callback url properly.

  9. Migrate the database

    php artisan migrate
    
    1

    It’s not a bad idea to check your database to make sure everything migrated the way you expected.

  10. [Optional]: Seed the database

    php artisan db:seed
    
    1

The default password for any the users is 121212

Now you are ready to use the Application

Development

Want to contribute? Great!

If you find any bug or want ot improve it just fork on the git project and it will create a pull request I will accept it. Git Repo of this project

You can mail me if required.

Email address: utshab.roy@gmail.com

Find Me on social media

Todos

  • Comment section add for the post
  • Logged in user can only edit his/her own posts
  • Multiple images upload at the same time

License

GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007

Free Software, Hell Yeah!