Daly Energy

Industry: Oil and Energy

Country: USA
ReactJavaPostgreSQLGcloudSpring Boot

Description

Daly Energy application is a project software that focuses on the field of data modelling. The end product is the storage of modelling data of solar panel systems. This software provides the best tools and functionalities to create and manage complex data designs and structures.

Daly Energy has many functions. It allows for the analysis and storage of big data on weather, the addition of modules for creating energy models and a dashboard that aids visualization and investigation of selected data.

The application provides a graphical collaborative workspace for the creation of data in figures, charts and graphs. It also serves as a sophisticated calculator and analytic tool.

Client goals

The client wanted a data modelling software but had no expertise to do it on their own. They needed an experienced team to work on it, and they reached out to us to start this project from scratch.

Every single aspect of this software was developed by our team. We did the project and architecture planning, system design, DevOps and cloud integration and development of all the functionalities by ourselves.

Main roles

Daly Energy Admin:

This is the admin that manages all the processes on the Daly energy software.

Workspace Admin:

The admin that manages workspace channels like Slack.

Users:

The users of the platform. They enter data to be analyzed.

Daly Energy Illustration 1

Implemented features

User Management

a. Registration, Login and editing of users

We implemented a CRUD user management feature that gives users full control and management over their personal details. CRUD means Create, Read, Update and Delete.

Users can register on the platform, login with their authenticated registered details, and edit or change details if there is a need to.

b. User management at workspace level

We managed users at workspace level by sending out emails to invite new members, assigning members to different roles, managing the different channels, and setting regulations, and permissions. This ensures the smooth running of the workspace.

Security

We used JWT tokens to authenticate and verify users. Once they are signed in, it gives them access to routes, pages, services and resources permitted with a token.

JWT tokens is also a reliable way of transmitting information from one service to another or between two parties with the use of private/public keys. The tokens do not just authenticate the users, it verifies the service the user is going for.

As signatures are calculated using the payer and payload, communications between the user and server are safe and the user is certain that information is not tampered with.

PostgreSQL (database)

We stored and managed our database with PostgreSQL. PostgreSQL is a great choice for this project since we are working with geo-data. It supports geographic objects, making it a good fit for location-based services and geographical information systems. PostgreSQL also improves performance optimization to a great extent.

The client's custom backend is integrated with Python for easy calculations and the creation of charts from the data provided.

Daly Energy Illustration 2

Google API for geodata, etc

With Google's API for geodata, we can convert geographic coordinates into more human-readable addresses. This is particularly useful in analyzing big data on weather.

Other Google APIs help in the conversion and display of data as live interactive charts, graphs and figures.

Complex functionality

Most of our data visualization was done with Python, but Python couldn't handle it all. We had to implement a solution with Java and this accelerated the creation of graphs, figures and charts by over 800% which is 9 times faster than using python alone.

We optimized our database by tuning the Postgre server, planning an efficient system architecture design and proper indexing of entries.

Daly Energy Illustration 3

Top features created by us

User Management:

The user management system we designed allowed users to create, login, and edit their own personal details on their profile. They have full flexibility and control over their personal pages.

Creating graphs:

We implemented a graph creation feature that calculates the formation and creation of graphs from parsed files, and big data from weather using Java.

Workspaces management:

We have admins to manage our workspaces on Slack. Invitations to new users are done with an SMTP (Simple Mail Transfer Protocol) or users can accept invites within the settings in the application. We enabled cookies to authenticate users, tailor personalized preferences, and keep the user secure.

Details

Testing

Testing was done by our team. We tested all the use cases and wrote the documentation of the test cases.

Hosting

This software was deployed and hosted on Google Cloud. We have maintained it through automation and continuous configuration integration.

Methodology of development

We used Kanban as a workflow management tool to implement the agile and DevOps process.

Timeline

June 2021 ongoing

Team

1 Back-end; 1 Front-end developers, 1 QA engineer

Used Technologies

Daly Energy React

React

Daly Energy Java

Java

Daly Energy PostgreSQL

PostgreSQL

Daly Energy Gcloud

Gcloud

Daly Energy Spring Boot

Spring Boot