Beruflich Dokumente
Kultur Dokumente
- Technical assignment
- API Description
1. Launch screen
(details of device authentication in API description)
2. Slider with explanation of how the app works (only after first launch) 5 slides
totally
a. Next/prev buttons
b. Show next/prev slide with swipe
c. Skip button
3. Camera working camera is the normal state of the app. When camera is on - app
is constantly trying to recognise markers from the Vuforia Cloud Database ( details in
API description bullet point #3)
a. A small text tells user to move camera towards the paper with marker
iii. After user whached this everything and mvoe the phone away from
oint 4 The page from
marker - app should open screen from bullet p
events archive
4. The page from Events archive - information about event should be shown
(details about how to get information from the server look in API bullet point
#4)
a. Block with text and text information
b. Button Show location -> goes to google maps and shows point XY there
c. Button Show path -> goes to google maps and shows path built between
points there
d. Video (the one which was downloaded in previous part)
i. Play/pause
ii. Video playing moment scroll
5. Side menu
Registration:
a. Email
b. Password
c. Confirm password
7. Create event
(details about saving event and updating after each step - API description part
7)
i. Event name
ii. Date
iii. Time
iv. Next button
b. Step 2 - HowTo video
j. Step 10 - Done
i. Text
1. We identify users device by device id after he just installed the app ( Android Advertising
ID IDFA (aka identifierForAdvertising) for iOS (https://www.aerserv.com/mobile-device-identifiers/))
While not logged in - user is presented by this ID. At the moment when user creates
account or logges in - he has a new id - his email.
The process that happens when user just installs the app is very similar to usual
registration
POST:
www.server.com/createTempUser
JSON {
deviceID :
}
Response is token, which has to be sent with any request to identify user. This token
will be renewed after user creates account or logges in - we will unite this no name
user and created account with help of device ID
3. When open camer app is constantly searching for markets from V uforia Cloud
Database.
After Vuforia returned the Target_ID :
Send POST reguest www.server.com/getEventInfo/:targetID and you will receive
a JSON object with data about the event:
1. VideoID (string)- the app needs to download this video from our server
(www.server.com/videoID). While video is downloading - prgress bar should
be shown. After download is complete - we enject the video into surface.
2. Event, date
3. Geoposition (x,y)
4. Path - array [(x,y),(x,y)...(x,y)] - Google maps with path will be placed on
market surface
5. Information (imageurl -string/text - string) - image url and text
After user moved camer from the marker - we send POST request:
www.server.com/saveScannedEvent
JSON {
userID : see part #1 for details,
eventID :
}
After success response - open p art#4
4. POST:
www.server.com/eventFromArchive
JSON {
eventID :
}
5. POST:
www.server.com/listArchive
response: [{JSON object - event},{JSON object - event},{JSON object - event}]
POST:
www.server.com/listCreated
response: [{JSON object - event},{JSON object - event},{JSON object - event}]
Logout happens only on the device - all session data is removed
6. Login -
POST:
www.server.com/login
JSON {
email :
password :
}
Response is token, which you have to send with every request further to identify the
user
Registration -
POST:
www.server.com/createUser
JSON {
deviceID:
email :
password :
}
Succesful response is token for identification - user is now also logged in
Restore password
POST:
www.server.com/restorePassword
After every step we send request to server (JSON object) to update the event
POST:
www.server.com/updateEvent
JSON {
eventID :
videoName:
geo: {
lat:
lng:
}
...somevalue {
}
}
If we change the event is oppend for edit (from side menu) - first step also sends
request to /updateEvent (NOT /createEvent)
Step 9 - Payment
QIWI:
POST:
www.server.com/createQiwiInvoice
JSON {
eventID :
}
Request is the invoice ID - we show it to user
Acquiring:
POST:
www.server.com/acquiringInvoice
JSON {
eventID :
}
Response is a link that we direct user to
8. Same interface as in previous part, but now we pass ther eventID to update this
event
9. POST:
www.server.com/changePassword
JSON {
oldPassword :
newPassword :
}
POST:
www.server.com/changeEmail
JSON {
newEmail :
}