create a simple energy meter "backend" and ""frontend"(Expert javascript dev)

Kapalı İlan edilme: 4 yıl önce Teslim sırasında ödenir
Kapalı Teslim sırasında ödenir

Java Application with SpringBoot, JPA, Hibernate, Postges, Rest-Service

You write an application based on a given sourcecode (reimplementation with changes).

The given sourcecode of a plain java application collects data from a serial interface (/tty/USB0), interpret these data and save them to the filesystem. [watch: [login to view URL]]

After you have created the database tables. Your task is to collect and interpret data as mentioned above and save them to the database. You will write a REST-Service to provide the collected data and write some web-pages (responsive design). [watch: [login to view URL]]

The data are metering data and contains the consumption and the power of three phases. [watch: [login to view URL] & [login to view URL]]

Please, watch the process as specified. [watch: [login to view URL]]

The data that has to be processed, comes from an energy meter over the IR-diod to the serial interface /tty/USB0. Because the application runs on a linux device, this interface is a “normal” file to read. [watch: [login to view URL]]

First, the application stores the values plane into a table (may be called ‘raw-data’) [watch: [login to view URL]]

Than there must be a ‘statistic-data’ table where the application stores one dataset for a minute, an hour, a day, a week, a month and a year by a type (resolution), implemented as an enumeration. This dataset contains the consumption of this period, a minimum-, a maximum- and an average value of the three phases and the timestamp.

Every minute, hour, day, week, month and year we get another dataset (INSERT). Within the period, the dataset will be updated for all fields [minute, hour, day, week, month, year]:

[logic:] set [login to view URL] = [login to view URL]

set table.dataset.count++

set [login to view URL] = [login to view URL]

set [login to view URL] = [login to view URL]

set [login to view URL] = [login to view URL] - [login to view URL] of this [login to view URL]

set ([login to view URL] + [login to view URL])/2

if [login to view URL]>[login to view URL] -> set maxValue

if [login to view URL]<[login to view URL] -> set minValue

...same for phase2 and phase3

[/logic]

Every two seconds, the meter will provide a new realtime dataset as an input.

For the client-side we need some REST endpoints providing the data with json.

An endpoint to provide long term polling to give all realtime data every two seconds

An endpoint to provide the statistic values for a timeframe and the resolution (type of the dataset)

To visualize the result, there is a responsive web page in multilanguage to show the realtime data like the follwing:

actual consumption

actual power P1

actual power P2

actual power P3

There is the possibility to switch the language, if there are more then one language configured (configured by different files for each language).

There is the possibility to show details by hitting a chart button -> switch to a new site with a bar chart showing the consumption of each days of the current week.

You don’t have to implement the shown “refresh-button” from the mockup.

There must also be a settings-page to type a key, validated by a RSA-key or something similar. If the validation was successful once, there will be shown an other page to view statistics for a given time frame and different granularities (minute - for an hour; hour - for a day; day - for a week; day - for a month; month - for a year).

To create a valid key 6-12 characters, you need to implement a code generator with the key mentioned above.

The application must have a test covering for all logics.

The IDE must be Eclipse (or STS) or intelliJ. The build system is gradle.

You deliver the sourcecode, an executable jar (SpringBoot) containing the Webservice and the html pages.

Because you are a professional developer, it might be very easy for you to implement this small tool. If you aren’t a full stack developer, you can send an offer for the backend or the frontend part.

Java Java Spring JavaScript PostgreSQL Yazılım Mimarisi

Proje NO: #19641693

Proje hakkında

8 teklif Uzak proje Aktif 4 yıl önce

Bu iş için 8 freelancer ortalamada $56 teklif veriyor

fattahaabdul

I can create a simple energy meter for you. I have 8+ years of experience in JavaScript. I assure you that i will give 100% quality work. Let us discuss and proceed further in chat. i am online. Please reply.

$100 CAD in 7 gün içinde
(110 Değerlendirme)
7.9
NomanAliKhan89

Hi I have 8 years of development experience using html, css, bootstarp, php, javascript, react. I can develop any type of website, software using these languages. You may visit my portfolio to have an understanding ab Daha Fazla

1 gün içinde %bids___i_sum_sub_32%%project_currencyDetails_sign_sub_33% CAD
(6 Değerlendirme)
4.4
vishalsha95570

if you want to implement your idea, then I am always ready for you Being a professional developer means to understand all the requirements of the project, and find the best way to implement it with the highest quality. Daha Fazla

1 gün içinde %bids___i_sum_sub_32%%project_currencyDetails_sign_sub_33% CAD
(9 Değerlendirme)
3.7
DesignPerfecti0n

Hi sir! Contact with me then I can show you my portfolio. I am interested to work with you. I can provide you professional web design services. I can design for you according to your requirements. I will give you unl Daha Fazla

$200 CAD in 7 gün içinde
(4 Değerlendirme)
3.4
bharatpraj

Hello, I'm Bharat P. I'm interesting your project very well I'm good in Website Design, HTHML, CSS , JAVASCRIT, JQUERY, AJAX, PHP and mysql expert. I’m quite well experienced in these jobs. Let's go ahead with me Daha Fazla

1 gün içinde %bids___i_sum_sub_32%%project_currencyDetails_sign_sub_33% CAD
(7 Değerlendirme)
2.3
anshsparkle

HELLO I CAN START RIGHT NOW - I AM EXPERT IN Java Javascript and I BET YOU CANNOT FIND BETTER FREELANCER THAN ME ... pLEASE MESSEGE ME AND LETS DISCUSS THE THINGS THANKSPlease Reply

$20 CAD in 7 gün içinde
(3 Değerlendirme)
2.2
arakib259

""Dear Next Employer We will give you the best result by using my Past experience and excellent academic skills on your project. You can chat with me and let's get started, I'm ready to show you samples of similar Daha Fazla

1 gün içinde %bids___i_sum_sub_32%%project_currencyDetails_sign_sub_33% CAD
(1 Yorum)
0.0
hetinkaya

I have experience on these I know what I need to do!

$35 CAD in 4 gün içinde
(0 Değerlendirme)
0.0