LEADING SYSTEM OF SUSTAIN-ABILITY REPORTING
LEADING SYSTEM OF SUSTAINABILITY REPORTING
Normative was designed to simplify sustainability reporting with automated calculations which will ensure a smooth transition towards the Sustainable Development Goals (SDGs).
PROJECT DESCRIPTION
Having in mind a faster transition towards a sustainable society, Normative
created a special tool to measure the company’s sustainability index.
It is the very first software capable of assessing a company’s social and
environmental sustainability. Using artificial intelligence combined with the
world’s largest online database, Normative makes the required calculations. As
a result, a user gets advanced visual analytics, detailed reports, and gets
step-by-step recommendations to achieve sustainable development.
OUR CONTRIBUTION
By the time we started working with Normative, it was a fully functioning
business. The team was looking for a robust solution to automate processes.
Previously the Normative team worked with freelancers which could not satisfy
the project requirements, like the scope of tasks and complexity.
That is why Normative was looking for an outsourcing software development
company to become a reliable partner and work together on their project. Our
cooperation started with the frontend, precisely with some refactoring and
fixing of the existing components.
What was the Scope of our Work
We use the Agile software development approach to build a transparent communication and task implementation flow. The scope of our work included:
Document Parsing
Document Validation
Table Creation
Info Charts
Localization
Authorization System
CSV/XLS Parsing
User Management
Organization Management
Development in Details
Document Parsing/CSV/XLS Parsing
We used two libraries for quick parsing data on the client-side. Papa Parse - powerful CSV parser for JavaScript allows configuring header row options, specify/auto-detect delimiters, identify character for commented rows, and convert numbers and booleans to their types. The xlsx library was used to parse binary input data to XLS entities — workbooks and worksheets. On the next step, the worksheet gets converted to JSON. Input data is taken from the native FileReader object (onload event is used to emit a parsed workbook).Info Charts
We had to make sure that the app analytics will include complex graphs and benchmarks to provide the visual statistics. We used the Microsoft Power BI service to display data charts. Data (reports, data sources, transaction impacts) gets uploaded to the Power BI from the server app. The client app uses powerbi-client library to perform requests to the Power BI API and renders the charts in the iFrame. We ensured the intuitive and composite visual elements for better understanding and comparison of the sustainability index.Authorization System
As part of the authorization solution, we used the Auth0 service. It provides a web interface to configure API, database connection, authorization rules, and email templates. The implemented functionality allows users to sign in via email/password credentials, use the passwordless sign in (via email or SMS confirmation) or use OAuth2 flow.Localization
For content translation, we used @ngx-translate library. Since translation tokens get stored in JSON files on the client-side, provided by the library TranslateService implements methods for both sync and async translations. Also, there is a useful translate pipe which allows us to translate content directly in the component’s template.Organization Management
Since the app allows getting an overview of the company’s sustainability index, organization management is an essential feature. So, organizations can be created and managed by the app-admin only. Organizations have different access to application modules. Each organization has its own dataset on the Power BI service, which is based on the actual organization’s data sources and reports.Table Creation
Convenient reporting process depends on top-level tables. We used ag-grid library for table rendering. It provides a highly configurable solution to get tables with customized elements. It allows creating separate Angular components for header and data cells rendering, implement sorting, filtering, pagination, and rows drag’n’droping. The table’s functionality can be expanded by a custom context menu, sidebars, and rows grouping.User Management
The requirement for this app was far beyond the scope of a basic user management system. The application does not have a sign-up functionality, so users can be created directly by the app admin or invited to the organization by the organization admin. Each user can be a member of multiple organizations. The user access is managed via application and organization roles.Document Validation
All uploaded data should have a format that is specified in JSON-schemas. To validate this data, we used Ajv library. This library is known as the fastest JSON Schema validator and is currently maintained and developed, so it was a perfect choice for this solution.
TECHNOLOGIES
We did the configuration of the entire frontend stack using Angular, Typescript,
RxJS while for the back end we use NodeJS. Specifically, such a tech stack allows the Normative
team to easily scale the app later on. Plus, NGXS made it possible to make functionality and
logic more transparent.
Results
At 2muchcoffee we believe that a successful software product comes out of mutual cooperation between a client and a web development company. The Normative case only proved that.
While working with the Normative team we paid close attention to the target audience and business needs of our partner. As a result, we were able to improve the existing solution and transform it into a robust and responsive sustainability reporting platform. A platform is fully functional and ready to handle millions of users.
Trusted by the best in their industries.
Adam Egesa
CEO & CTO
2muchcoffee provides top-notch development work and expert advice that please end-users needs.
The team is transparent about progress, communicative, and committed to deadlines.
RECENT PROJECTS
2muchcoffee offers expertise in web and mobile application
development for startups and big enterprises. We are proud of our projects since
each of them is a unique story and solution!
Swedish App Store №1 Fitness App
Maintain a healthy lifestyle with no-time and money.
Fitness
Mobile App
🇸🇪 Sweden
Our client was looking to motivate people to stay fit regardless of the tight schedule.
We provided a full cycle development of the mobile app where users can track taken steps
and convert them into real goods. Among the best walking apps, Stepler works as a trigger
to take care of your health. Based on App Store ranking, Stepler is a top mobile app in Sweden.
Product Hunt's - SaaS Product of the Year
Centralize all your apps in one single place.
SaaS
Web App
🇫🇷 France
Station is a SaaS focused platform for working with web applications
(supports 600+ apps). It aims to boost your productivity at the workplace while
saving tons of your time. As an app and web development company, we are highly
skilled to build complex and user-friendly apps, such as Station. It's a Product
Hunt project of the year and Y Combinator alumni.
Mental health support platform
Take care of yourself ang get necessary help
self-care
web / mobile app
🇺🇸 USA
A completely new approach to diagnosis, patient management, and communication
with a doctor. Complete control in the hands of the patient. How, when, and who will control
the state? All doctors are collected in a mobile application.
US K-12 Educational Literacy App
Reinvent the learning experience for kids.
eLearning
Web/Mobile App
🇺🇸 USA
Our team developed a tool to transform the kid’s educational experience
into practical knowledge. An e-learning reading application is a commercial product
under the NDA and suitable for in and out of class learning.
CONTACT OUR TEAM
Do you have an idea for your next project? Not sure what tech stack or business model
to choose? Share your thoughts and our team will assist you in any inquiry.
- Our team contacts you within 24 business hours
- We collect all the key requirements from you
- The team of developers prepares estimation
- We can sign NDA since we respect the confidentiality of our clients