ForwardWidgets
Widgets for Douban and Trakt watchlists plus personalized recommendations, live TV streaming including PlutoTV, Yatu ra…
MERN stack application for appointment booking and employee/client management
MERN stack appointment scheduling and employee/client management application
View Demo
·
Watch Video Demo
·
Report Issue
Glow Labs, a small business, has been using Square for booking appointments, managing clients and employees, and as a point of sale (POS) system. Its website, built by using Wix, displays its Square booking workflow in an iframe. It has also been using WaiverForever for handling consent forms - clients are not able to receive copies.
Square Appointments does not charge a monthly subscription fee if there is only one staff member. However, a monthly charge of $50 for 2-5 members and $90 for 6-11 members (and even more for even larger teams) is incurred. Glow Labs has several staff members and therefore has to pay a monthly fee. Square's POS system is free to use and there are no setup fees or monthly subscription fees.
Ideally, appointments, consent forms, and profile management would all be handled on the same domain. Also, sensitive client-entered credit card information should be handled securely and integrated with Square's POS system.
This is a MERN (MongoDB, Express, React, Node.js) stack application that uses Redux for state management and Apollo Client to fetch data from a MongoDB database via GraphQL. It has some of the following features:
Responsive design, SEO, and performance optimizations by means of:
Guest clients are able to:
Authenticated clients are able to do all of the above, as well as:
Authenticated staff members are able to:
Authenticated staff members with "admin" status are also able to:
Server deployed via AWS EC2 instance with NGINX and SSL secured with Let's Encrypt. Client-side deployed with Vercel. Custom domain from Freenom with DNS routing by Cloudflare.
To develop this project locally, follow the steps below.
You will need to have the following software installed:
git clone https://github.com/amamenko/GlowLabs.git
cd Client npm install
REACT_APP_GOOGLE_MAPS_API_KEY=YOUR GOOGLE MAPS API KEY REACT_APP_SQUARE_SANDBOX_APPLICATION_ID=YOUR SQUARE SANDBOX APPLICATION ID REACT_APP_SQUARE_SANDBOX_LOCATION_ID=YOUR SQUARE SANDBOX LOCATION ID REACT_APP_SQUARE_SANDBOX_ACCESS_TOKEN=YOUR SQUARE SANDBOX ACCESS TOKEN
cd .. npm install
SQUARE_SANDBOX_ACCESS_TOKEN=YOUR SQUARE SANDBOX ACCESS TOKEN TWILIO_ACCOUNT_SID=YOUR TWILIO ACCOUNT SID TWILIO_AUTH_TOKEN=YOUR TWILIO AUTH TOKEN GLOW_LABS_TEXT_NUMBER=YOUR TWILIO TEXTING NUMBER TWILIO_TEST_TEXT_NUMBER=YOUR OUTBOUND TEST TEXT NUMBER FACEBOOK_APP_ID=YOUR FACEBOOK APP ID FACEBOOK_APP_SECRET=YOUR FACEBOOK APP SECRET JWT_SECRET_KEY_DUMMY=YOUR DUMMY JWT KEY JWT_SECRET_KEY_ACCESS=YOUR ACCESS JWT KEY JWT_SECRET_KEY_REFRESH=YOUR REFRESH JWT KEY MONGO_DB_USERNAME=YOUR MONGODB USERNAME MONGO_DB_PASSWORD=YOUR MONGODB PASSWORD GOOGLE_PUB_SUB_PROJECT_ID=YOUR GOOGLE CLOUD PUB/SUB PROJECT ID GOOGLE_PUB_SUB_CLIENT_EMAIL=YOUR GOOGLE CLOUD PUB/SUB CLIENT EMAIL GOOGLE_PUB_SUB_PRIVATE_KEY_PART_ONE=PART ONE OF YOUR GOOGLE CLOUD PUB/SUB PRIVATE KEY GOOGLE_PUB_SUB_PRIVATE_KEY_PART_TWO=PART TWO OF YOUR GOOGLE CLOUD PUB/SUB PRIVATE KEY GLOW_LABS_EMAIL=YOUR EMAIL GLOW_LABS_EMAIL_APP_PASSWORD=YOUR EMAIL PASSWORD
npm run build
Contributions are welcome!
git checkout -b feature/MyFeature)git commit -m 'Add my feature')git push origin feature/MyFeature)Distributed under the MIT License. See LICENSE.txt for more information.
Avraham (Avi) Mamenko - avimamenko@gmail.com
Project Link: https://github.com/amamenko/GlowLabs
more like this
Widgets for Douban and Trakt watchlists plus personalized recommendations, live TV streaming including PlutoTV, Yatu ra…
A lightweight, simplified, RedNotebook-inspired journal/diary app. Built with Electron. Makes dated text files.
View and plan your life in an online calendar by visually by seeing it from days to decades
A simple DIY library to generate your own custom Calendar View using RecyclerView, written in Kotlin
search projects, people, and tags