Code Monkey home page Code Monkey logo

coffeteria's Introduction

Coffeteria

MIT license Open Source? Yes! Ask Me Anything !

logo

Coffeteria is a SPA (single page application) that organizes ordering from our institute's cafeteria, where the admin can add products and categorizes them, he can manage his running order and checks. The user can place an order if he is registered or he can log in using his favorite social media account.

The project is developed using PHP (Laravel Framework) with MySQL DBMS for the back-end, and Vue.js Framework for the front-end.

Demo


You can find a demo for the project deployed in the following link:

http://coffeteria.herokuapp.com/

Table of Contents


Getting Started


To use and run this project you need to:

Before executing the following commands, please make sure that you have all dependencies.

Setup Your Environment


1- Run the following command to install the project locally.

git clone https://github.com/hossamkhalil01/coffeteria.git

cd coffeteria/ 

npm install 

Note: for only one time you may need to run the following command to generate the static files.

npm run dev

you may also run the following to start the live watch for laravel-mix so that you don't have to run dev on every change.

npm run watch

2- Apply the database migrations First you will have to add your database credentials as mentioned in configurations section

php artisan migrate

3- Run the server

php artisan serve

4- Go to the browser and go to the following URL: http://localhost:8000

Note: Make sure that your database is up and configured properly for the application to work.

Configurations


For the project to work as expected, you will have copy the .env.example file with a name of .env to fill it with your own credentials.

Application


The following variables represents your applications' configurations where you can setup the application name, URL or debug mode.

The URLs are used by the front-end to send requests to the back-end, while the application name is used by Laravel to use as a data whenever needed.

Note: you'll have to edit bot APP_URL and MIX_APP_URL with your application's URL by default it's set to the localhost.

APP_NAME=Coffeteria
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost:8000
MIX_APP_URL=http://localhost:8000
LOG_CHANNEL=stack
LOG_LEVEL=debug

Database


For your database you need to fill the following variables with the credentials of your database.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

Mail Server


Mail server is used for various reasons such as sending verification emails or password reset emails to users. by default it's configured to use gmail with smtp server on port 587.

You may want to change those values to suite your needs as well as putting in the email credentials such as username and password.

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS=
MAIL_FROM_NAME="${APP_NAME}"

Social Authentication


The application uses the social media accounts as a way to authenticate users, currently three providers are supported (Facebook, GitHub and Google).

If you want to use this feature you will have to insert your social app ID and Secret Key to the following variables.

GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""

GOOGLE_CLIENT_ID=""
GOOGLE_CLIENT_SECRET=""

FACEBOOK_CLIENT_ID=""
FACEBOOK_CLIENT_SECRET=""

Dependencies


Limitations


  • Admins only are made by other admins which means the first admin user has to be created manually (through tinker shell or database directly)

Possible Improvements


  • Allowing payment system so that user don't have to always pay in cash.

About Us


We are a team of software engineering students at ITI intake 41, Smart Village branch, Open-source application track. We built this application for learning purposes which is free to share and use.

  • Hossam Khalil
  • Leena Sherif
  • Mai Maher
  • Sarah Magdy

coffeteria's People

Contributors

hossamkhalil01 avatar leenasherif239 avatar maymaher avatar sarahouf avatar

Stargazers

 avatar  avatar

Watchers

 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.