This project consists of two tasks. One small pre-task and the second major task.
- We have a RESTful Server running on NodeJS & ExpressJS and MongoDB.
- There is an ElectronJS Application that communicates with the NodeJS Server. The application does regularly POST and GET requests to the server.
- There is a Webapp (in a browser) that is a dashboard and this dashboard also does regularly POST and GET requests to the server.
1st Task: This is the small tasks and it shouldn't take too long to implement it.
I need to implement an onscreen keyboard for the ElectronJS app.
It will be this one: [login to view URL]
a) I need you to implement it yourself in an ElectronJS test app. The version of Electron is v3.1.8.
After successful implementation into an ElectronJS test app (Hello World app), provide this onscreen keyboard as a module such that I can implement it into our existing ElectronJS application. I need the module to be as minimal as possible with only the necessary stuff. The on screen keyboard will only appear if the user clicks on a text / number field.
b) It has to be customized a little bit. I need the size of the keyboard to be customized when it appears on the screen and there are a lot of languages available. I only need English and German.
2nd Task: MongoDB Queries with Mongoose. The server response is always a JSON object.
For our RESTful Server I need very specific Queries to MongoDB well written with Mongoose.
I will provide to you our specific Models / Schemas (there are 4 in total). All 4 collections are connected to each other and the most important collection is called "Viewing" which has for example fields like:
- ip address
- country (based on ip)
- region (based on ip)
- startedAt (time)
- completedAt (time)
- did_apply (bool: false / true)
- apartment_id (id of another document from the apartment collection)
In order to check if you read all of this description in detail please post in the title of your proposal (x y z) before your title starts. Thanks. Back to the story:
The POST & GET requests are done with ExpressJS and I need efficient mongoose queries such as:
For each Type of request there are 3 Inputs (the output is JSON):
Input 1 ==> Apartment ID (apartment_id)
Input 2 ==> start date
Input 3 ==> end date
- Type 1: Basic statistics about viewings that lasted at least 60 seconds:
=> How many in total? ==> This is just a counter of how many objects.
=> What is the average duration? ==> Based on each viewing's [login to view URL] & [login to view URL]
=> How many did apply? ==> counter for viewing.did_apply == true
- Type 2: Average Duration Distribution over week days (Mo, Tue, ..., Sun): what is the average duration of viewings on Monday? What is it on Tuesday? Etc. etc.
- Type 3: Total Number of Viewings distributed over week days (Mo, Tue, ..., Sun): How many viewings are there on average on Monday? How many on Tuesday? Etc. etc.
- Type 4: Hourly Distribution ==> How many viewings on average happen between 8am-9am, how many between 9am-10am etc etc
For every apartment object there are viewings. Every viewing has an ip address. We want to group these viewings by the ip addr. The JSON would contain for example group X (with ip 123) and underneath the group X all the viewings that belong to the same ip.
An initial request would give us how many groups are there so that we know how many tabs to show in GUI. Every tab should contain 10 groups. Another request should be able to load for example 10 groups for any tab we click on. Or less than 10 if it's the last tab for example or if there are less in a tab.
First we only show groups in a tab and if one group is clicked it expands downwards with all the viewings belonging to that group.
Outputs as JSON
(x y z) Hello sir. I have been working in nodejs and electron since 3 years now. I can start your job right now. Please ping so we can discuss further. Thank you.
22 freelancere byder i gennemsnit $194 på dette job
Hi i have an experience of about 3 years in nodejs. I have worked on express and loopback framework of nodejs moreover i have good knowledge of mongo db too. I can give you long term support also.