Food-Order-App
Go to CodeSee MapProject type
First Timer FriendlyToolsE-CommerceProject tech
JavaScriptVueJSNodeJSCurrently seeking
- Developers
- Frontend Developers
- Backend Developers
- DevOps
- Maintainers
- Code Reviewers
- Mentors
Contribution overview
The maintainers of this project have not provided a contribution overview.
Overview
Simple food ordering web application built using VueJS, Firebase, NodeJS and MongoDB.
Checkout the Live Demo of this project First:
Test User Credentials
- Email: [email protected]{" "}
- Password: 123456
Test Admin Credentials
- Email: [email protected]{" "}
- Password: 123456
Run this Project on Local Environment:
Prerequisites
- NodeJS installed on your Local machine
- MongoDB installed on your local machine or have an Atlas Account.
- A Gmail Account for Firebase Services.
- A PayPal Account and a Sandbox account for testing purposes. (For now, you can ignore this step, Currently I am planning to shift payment services to Stripe/RazorPay)
Credentials Setup
- Create a
MongoDB Atlas
Account for connecting this app with MongoDB or you can use your local MongoDB. Find Tutorials here. - Setup a
Firebase Project
for usingFirestore and Authentication
. Find Tutorials here. - Setup Firestore and Enable Authenitaion Methods
- Generate
Private keys for Firebase Admin
. Find tutorials here. - Create a
PayPal account
andSandbox account
. Find Tutorials here
Project Setup
- Clone this Repository or Download the zip File
$ git clone https://github.com/nil1729/food-order-app.git
- Create a new file named
secret.json
onconfig
directory which contains Generated Private keys from Firebase project.{ "type": "service_account", ... }
- Create another
cofig.js
file on/client/src/firebase
. Put all firebase config Credentials for Frontend. (In following Format)const firebaseConfig = { apiKey: "", authDomain: "", databaseURL: "", projectId: "", storageBucket: "", messagingSenderId: "", appId: "", measurementId: "" }; export default firebaseConfig;
- Create a
.env
file on root directory. Which Contains all necessary Secret Credentials (for backend only) for this site.DB_URI = <- Mongo Atlas URI-> PAYPAL_CLIENT_ID = <- PayPal Sandbox Client ID (Also use your own client ID on Frontend)-> PAYPAL_CLIENT_SECRET = <- PayPal Sandbox Client Secret (Only for backend server to verify purchase)->
- Run this Command
$ npm run dev // to start Vue Development server and Backend server together. $ npm run server // to start only Backend server $ npm run Client // to start Vue Development server only
Admin Setup
- Run this Command on root directory
$ npm run admin
Contributing
A few guidelines for someone looking to contribute here:
If you're a beginner
Fork
this repository.Clone
your fork on local machine.- Make a new
branch
(saydevelop-{your_github_id}
). - Checkout to the new branch with
git checkout <new_branch_name>
- Do the desired changes and
commit
them withgit commit -m '<a nice commit message here>'
. push
the change to your fork on GitHub withgit push origin <your_branch_name>
- Make a
Pull Request
to the original repository, i.e. this one.
**
Note: If you're looking to work on an issue, just make sure that no one else
has taken it already. In which case, you can look up other issues or create a
new one if you find something missing! 😃{" "}
**
Some guidelines related to the code:
- Try to stick to the syntax style followed in the code(Especially in Frontend Part). This will help everyone to understand your code.
- Make sure you put comments wherever necessary.
- Include a visual preview (a screenshot or a GIF? if you are working on Frontend Part) for any visual design changes if possible.
- If you are working on Backend, please make sure to add the a Simple API Description (you improve/working currently) while raising a PR
If you want to add a new feature, feel free to do so! 😄
Happy Coding! 😃
🎃 Hacktoberfest
Learn
Resources to learn more about our technology and community.