Booking the best table in the house just got easier! "Reservationist-2" allows an individual user or company to record and retrive reservation information. Reservationist is built in React with SCSS styling which permits each individual element to occupy separate files making the product easily scalable and customizable by swapping components in and out as required for a wide variety of end users. Reservationist is fully responsive for a seamless mobile user experience. This version of the Reservationist has been customized for use in food service and restaurant environments. As an added feature a link has been provided to our Expense-Manager product so they can easily take reservations or record invoices anywhere on their mobile device.
Login with your Google account.
The reservationist-2 has been deployed to a Heroku Dyno and can be used by following the link. (Note: Resting Dyno's can often take 10 to 15 seconds to spin up on initial load and are not indicative of a sites true load speed.)
Core | Styling/Authentication | Dependencies | Dev Environment/Testing |
---|---|---|---|
React | SCSS | AirBnB/React-Dates | Babelrc Compiler |
Express | Google Fonts | Moment.js | WebPack |
NodeJS | normalize.css | Numeral.js | Jest Testing Framework |
Redux | Google Login | Yarn | Redux-Devtools-Extension |
Firebase DB | Firebase AuthO | UUID | extract-text-webpack-plugin |
JSX | Validator | Redux-Thunk | Babel Poly-Fill |
JavaScript | CSS3 | RegEx | LiveServer |
HTML5 | dotenv | CSS Loader | History |
rc-time-picker |
{
"rules": {
".read": false,
".write": false,
"users": {
"$user_id": {
".read": "$user_id === auth.uid",
".write": "$user_id === auth.uid",
"expenses": {
"$expense_id": {
".validate": "newData.hasChildren(['description', 'note', 'createdAt', 'amount'])",
"description": {
".validate": "newData.isString() && newData.val().length > 0"
},
"note": {
".validate": "newData.isString()"
},
"createdAt": {
".validate": "newData.isNumber()"
},
"amount": {
".validate": "newData.isNumber()"
},
"$other": {
".validate": false
}
}
},
"$other": {
".validate": false
}
}
}
}
}
- Clone down this repo
- Restore dependencies by running
yarn install
in the root of your local repo - Restore production files by running
yarn run build:prod
- Start local server by running
yarn run dev-server
- You are now in development mode on localhost:8080
- Deploy to hot of your choice: ex.; Heroku
- Connect to a database and authentication of your choice: ex.; Firebase
- Create Firebase DB and authentication per Firebase documentation
- Add API keys to your local project
- Set Firebase API keys in Heroku:
heroku config:set <list all 6 keys separated by a space>
- You now should be able to login on your deployed site
Note: If you encounter a FIREBASE FATAL ERROR
when you attempt to launch your app, please refer to the repo Firebase-Fatal-Error-Heroku-Deploy-Solved for a possible solution.
This app was built in React to be easily scalable. Other versions of this app can be found on the following repo's.