Event-Based Web App and Windows Software - QR code photobooth

Job ID: 40135819

Budget: €1,500 – €3,000 EUR

My request is to create a web app capable to collect the pictures taken by guests with their smartphones during an event, and a software (windows environment) that will receive the pictures and print them.
Features:
1) the guest scans a QR code with his smartphone.
2) the guest is redirected to the web app
3) in the web app the guest can choose: take a picture, choose a picture
4) if he chooses "take a picture", the web app must access the camera and allow the guest to take a picture. Then the picture must appear together with two buttons: "print", "discard". If print is chosen, open the print screen (will be defined later on in my description). If discard is chosen, go back to point 3).
5)if he chooses "choose a picture", the web app must visualise all the available pictures that are on the phone (pictures taken by the camera, WhatsApp images, screenshots, ....)like a gallery of pictures (in chronological order). The guest chooses one picture and the selected picture is enlarged and the "print" button and "return" button appear. If "print" is chosen, open the print screen (will be defined later on in my description). If "return" is chosen, go back to point 5) (to the gallery).
6) when the right picture is chosen, the guest must be redirected to the "print" page, where he can first choose which background image (or background and overlay image) he will put his picture onto.
He will be able to select between the background images available for the current project (usually 1 or 2 different backgrounds, potentially 10 different backgrounds, prepared in advance by the responsible person for the event)(I think the easiest way is that these backgrounds are loaded into the PC into the current project folder by the responsible and the webapp gets them and loads them into the webapp itself. If there are more practical ways to load the background images I am open to suggestions). In the background case, the pictures will be put onto the background image and sent to be printed, in the background/overlay case, the pictures will be put onto the background and the overlay picture will be put onto the picture and the background. (It would be great to have the most suitable background already pre-selected, for example of the picture is "landscape" (large and not tall), then the "landscape background" should be preselected. If the picture is "portrait" (thin and tall) the "portrait background" should be preselected.
7)once the background is selected, a new page is opened where the guest can rotate his picture, resize it (zoom it in an out, using his fingers, exactly like the resize option in Instagram posts) and adjust the brightness.
8) after this the guest can push on a "print" button to send the picture (complete with all the background and his modifications) to the PC software to be printed. Or have a "return" button to go to the previous step. (Every page must have this return button).
9) after sending to print, two different options must be choosable by the responsible person that sets up the event: first option - open 3). Second option- show a page with "thank you" message written (should be personalizable with a custom image by the responsible person).
These are the basic functions of the web app.
10) The web app must also have an optional page that can be activated by the responsible person before the event, Placed after the last "print" button. This has to be a payment page that will unlock the printing option once the requested payment is done. (Credit card, satispay, Twint, PayPal, etc...)
This page must be activated or deactivated according to the nature of the single event and the beneficiary of the payment can be different each time.
The same project must have the possibility to work simultaneously with a basic QR code that does what has been written before (with payment), a second QR code that allows a 1 time print for free, and a third QR code that allows unlimited free prints.

PC software.
I currently own a system to print pictures from the mobiles of the guests but with a different process. The PC software has to be made with the same characteristics of my current software.(I will provide access to it and/or pictures with explanation)
When you open a new "project" (for a new event) the software generates a 6 digit number. This number will be used to connect the web app project with the correct PC and printer. When the web app project and the PC software project are connected, every picture sent by a guest will appear in a gallery in the PC software (by selecting an option, it must be possible to hide those pictures and to show a customized image or video)
Every picture must be saved in a dedicated folder in the documents folder, automatically created at the creation of the new project (event). Every picture has to be saved both in the original version and in the background version.
Currently the PC software alllows to select a printer connected to the PC. If possible I would like to have the possibility to select up to 5 printers and have them work in spool mode (in case of 2 printers in spool, the first picture is sent to printer 1, the second picture to the second printer available, so that the two printers can work together and print double amounts of pictures in the same time)

The current pc software has a first page where two buttons are shown: create project e load project
Create project opens a page with the following options to be selected:
- project name: the responsible person will write the name of the project here. When he will click on the save project button at the bottom of the page, the software has to create a folder with that name
-Project directory: it has to be set as a default in the last directory used (usually the documents folder) it is the path where the new directory will be created.
- printer selection: here is shown a list of the available printers and the desired one can be selected. (As just mentioned, it could be good to have a "add another spool printer" button just below this, that duplicates the printer selection bar.)
-Background image selector: here it has to be possible to load 1 to 10 different backgrounds or background/overlays (usually there is only one background or 2 different backgrounds)
- Adjust picture position: this button becomes selectable only after choosing at least one background image.
The button opens a page where the loaded backgrounds are shown (every newly loaded backgrounds or background/overlay must be marked in red). Selecting one of them opens a window where the responsible person sees a grey transparent rectangle. On the left and right side there must be 2 sets of 4 arrows, the set on the left enlarges and shrinks (1 button increases the height, 1 button decrease the height, 1 button increases the width, 1 button decreases the width). The set on the right must move the rectangle in the 4 Cardinal directions, keeping its size.
A red notification mark has to be shown on the main button in the main page until the responsible person has adjusted every background and background/overlay that has been selected.

- 4 boxes to stretch the image when printed: these have to be 4 independent boxes that allow a numeric input (positive or negative). Each box must have two arrows to increase or decrease the value. These boxes are useful in the cases when the background+picture do not have the correct dimensions related to the print paper. Or when the final print result must be slightly modified at the beginning of the event without having to change the background image file. The 4 tags are "top", "bottom", "left", "right".
-Promotional image: here the responsible person can choose an image that will be shown while the project is active, not to show the pictures that have been printed. (It can be quitted only with a 5 digit passcode)
-Promotional video: same as the previous but with a video.
-
At the bottom two buttons: save and cancel.
When save is pressed the project is activated and an empty gallery is shown.
In the upper part the 6 digit number must be visible together with the project name, a button to activate the "promotional image" another button to activate the "promotional video" in the upper right part "exit" button (to be activated a 5 digit passcode must be used).
Also a delete all pictures button with 5 digit passcode.
Also a button "edit project" to open the same settings page shown when creating the project, to modify it if necessary.
When the gallery is shown, it must be possible to tap on any pictures to enlarge it and to have 2 buttons: "print" and "X" in both cases the 5 digit passcode is requested. (It must be possible to opt out the 5 digit code, for one or both buttons, in the create project page)



A counter, counting the printed pictures, has to be available.
A screen lock function has to be available, when showing the gallery too. If I click I need to insert the 5 digit passcode to interact with the software.
11) when shut down, in any condition, the pc software must reopen itself automatically when the pc is rebooted and must keep the same settings as the previous session and must be ready to print (I need that software to be as simple and as automated as possible, since the people that will have to use it are not skilled operators).

Contact me for more details and clarification
Regards
Marco