chronicink-dashboard-v2's People
chronicink-dashboard-v2's Issues
Create different versions of the form for in store vs external
Create a new page just for the disclaimer form
Possibly at chronicinktattoo.com/disclaimer.
Have to contact Mathieu at digital shift marketing ([email protected]) to get that routing set up, since digital shift manages the chronicinktattoo.com domain.
Also, consider moving the intake form to intake.chronicinktattoo.com. Right now, sending clients the url dashboard.chronicinktattoo.com/intakeform exposes our internal-use dashboard to external people. They can't log in, but just the fact that they know where to go and that it exists could be a potential security risk. Frankly the security on the server is not super secure or anything.
Speed up saving state on the IntakeForm
Right now, the input is very laggy when typing on android and it's because the _handleFieldChange method in InktakeForm.js duplicates the ENTIRE fields object and accesses it 3 times for EACH change aka keypress. Change it to a single write operation on the state and it becomes much much faster.
Add better validation for phone numbers and birth dates
Allow users to search the intake list for a client
You can use Meteor's Collections API (https://docs.meteor.com/api/collections.html) to search for "intake" documents where the client name matches the search term each time the user updates the search input
Make formatting and styling beautiful
Change phone number fields to have a country code drop down
Prevent ArtistStats from loading everything all the time
Change default card number for recommendations to 5
Change availability picker into a table
Change availability picker to be a checkbox table, with the rows being days of the week and the columns being times of day (12-5, 5-8)
e.g this (https://i.stack.imgur.com/6QhsJ.png)
Add a link to the Chronic Ink Website at the very bottom
Kind of like where most sites have their copyright info
Prettify the formatting of the disclaimer
Validate user inputs on the intake form after each step
Don't allow users to proceed on the intake if some fields are not filled out or are invalid. Give users feedback on which fields are invalid if they try to click "Next" to move on to the next page.
Set up automated backups for the MongoDB database
Replace stepper navigation with a simple tabbed navigation
Allow users to re-arrange bookings on the booking form
Add "Email Presentation" as an option to the bookings list
Make sure only chronicinktattoos.com emails can log in
Prevent users from progressing on intake if some inputs are not valid
Record whether an intake was created externally or internally in the db
Change last page of intake form based on whether user is inside the shop or outside
Check Meteor.UserId(), if user is logged in, the form is being used internally. Otherwise, it's being used externally
Set up ssl on the server
Change authentication to always use the account set on the server
Allow intake forms to be fetched from the db and viewed
Would have to have the system make a query to the db based on an id parameter in the URL e.g.
http://dashboard.chronicinktattoo.com/intake/s9sda0JjIO320Fd
where s9sda0JjIO320Fd
is the _id of the relevant Intake
document.
Then map each field in the document to the appropriate field in React
Add an "any" option to cancellation availability options
When this is selected, other options should be disabled.
Add link to Shop Duties Checklist to dashboard
Edit deposit text on the disclaimer page to mention that $350 plus tax is for guest artists and not just large pieces
Fetch total hours booked and soonest opening for artists when a new booking is started
This is to ensure that when the user clicks "Recommend" to recommend artists, the booking volume and soonest opening have been update recently. Also, we don't want to do this AFTER the user clicks "Recommend" because we don't know how long the fetch and calculations will take, and we don't want to keep the user waiting.
add ability to edit items on the bookings list
Add a clickable phone number to the "Call Us" Page
Add a final "Call Us" page
Need to make it clear that the client needs to call us after. Just needs to have some text and a phone number
Create interface to add/remove artists for the front desk
Error check to make sure the artist has a booking volume before calculating their recommendation score
Create a new page for the intake that asks if user is external or internal
Add back sign-out button on the app bar
Sort the artist stats widget so it displays the lowest hours at the top
Change intake navigation to a stepper with the CIT color scheme
Add "other" with a text input box as an option for medical conditions
Fix UI so that the intake form stepper adjusts to small screen sizes
Always use the primary account to make google API calls on the server
Right now, the server uses whichever account is logged in (Meteor.user()) to make calls. Instead, it should always be using the primary account ([email protected] / [email protected])
We need to do this, otherwise emails will be sent from the user who is logged in instead of the primary user.
Also, the intake form cannot send notification emails if no user is logged in, unless the server is already has a token for the primary account it can use.
Fix ArtistStats loading bugs on the dashboard
Send email reminder to external clients after they finish form
Modify ValidatedTextField to use a simple text input
Get rid of the Studio collection, instead load all widgets by default
Allow the phone number field to accept international numbers
Right now there is a text mask that forces all input into a certain format (XXX) XXX-XXXX
We want to change this mask to allow international numbers as well (e.g. UK's format is "020 7183 8750")
This might be more complicated than it initially seems!
Add checkbox to final page of intake that allows users to toggle if CIT missed their call
Change "Finished" page to "Availability" page
This is the page where users can select what times they are available for being called in case of a cancellation. Just change the name of the tab to "Availability" and edit the text to reflect its purpose
Allow users on the booking form to enter exact measurements for the size field
Have a toggle that toggles between exact (numerical inputs) and approximate (string inputs).
When the switch is on, the "Size" field should be two fields that only take numbers, representing the dimensions of the tattoo (inches by inches).
When the switch is off, the field should be a single text field allowing the user to input anything they want.
This way, the person making the booking can enter the size as an exact measurement (that we can later use to sort) or something arbitrary if it's hard to quantify.
Change buttons and style them (gold w/ black font)
confirm if clients want to leave the form when the close the window, track the conversion
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.