Menu
Get in touch
hello@ronasit.com
UI Theme

Cybersecurity dashboard

A data collection dashboard for internal needs of a cybersecurity company

* We developed this project under an NDA, so we can’t disclose its name or provide a link to the product.

UI/UX design
Web Development
Laravel
Next.js
PostgreSQL

Client

Our client is from a cybersecurity company.

They approached us to create a dashboard that conveniently represents the results of the company’s services and gives their employees valuable insights into threats.

Project idea

The dashboard should transform complex cybersecurity data into clear, visual representations through tables and diagrams to improve the company’s internal processes.

The platform would allow employees to filter information, track exploited vulnerabilities, and check recent cybersecurity news. Our client's company set aside a limited budget to test the idea.

Key objectives

Design and develop a functional dashboard within a constrained budget

Develop key features such as data filtering, authentication, and real-time updates

Complete the project within the estimated timeline of 380 hours.

UI/UX design

Our main goal in design was to create a simple and convenient interface to help users find important information quickly.

For UX, we prioritized clarity and avoided unnecessary elements to create a straightforward user journey.

We designed the dashboard’s UI in a dark theme with bright green highlights and light texts, making the needed information visible at a glance.

The company already had a logo, and we integrated it in white color for a consistent and professional look.

Key features

Login

The company’s employees can log in by entering their email and password, with the option to select ‘remember me’ for easier access next time. If there's a mistake, error messages indicate issues like an incorrect email or password. The process is implemented through Auth0 for secure authentication.

Dashboard

The dashboard lets users easily switch between sections. Users can filter data by options like group or country to customize their view.

The platform features charts that display trends in attack damage and case counts. It also offers a table for detailed incident information, making it straightforward to track specific events.

Search

Employees can search incidents by entering keywords and filtering results by parameters like country or industry. When matches exist, users see detailed incident information in a table.

Command & control tracking

Users can view top countries affected by malware and filter data by parameters like malware type, location, date range, and port, helping them identify specific threats. The dashboard features bar charts that clearly show the distribution and frequency of malware attacks.

Exploited vulnerabilities

Users can view top vendors and filter vulnerabilities by parameters like vulnerability ID and vendor name, making it easy to pinpoint specific issues. The platform displays vulnerabilities using a bar chart for top vendors and a line graph for daily counts.

Users can also see detailed descriptions and required actions for each vulnerability.

News feed

The news feed displays articles with details like the title, source, and date added, keeping employees informed on the latest threats and solutions. Users can also filter news by title, source, or date.

Development

We used Next.js for the frontend to create a dynamic user experience. For the backend, we chose Laravel to handle complex data operations efficiently. To organize search and data, we used a PostgreSQL database combined with efficient indexing.

We set up secure password reset features with Laravel’s built-in features, allowing users to recover their passwords via email.

Data was provided to the frontend through RESTful APIs, which are pathways that let the frontend and backend talk to each other. Using the WebSocket protocol, we enabled real-time updates.

Using interactive tables built with React Data Table Libraries, we implemented data presentation and filtering.

Navigation between dashboard sections was handled by Next.js built-in routing. Data fetching for charts and tables was performed with our tool @ronas-it/axios-api-client. We structured all vulnerabilities and incident records in relational tables using robust database migrations.

Integrations

Company’s internal CVE's and vulnerabilities database: To pull data on vulnerabilities and malware.

Google Cloud Storage: For reliable data hosting.

Auth0: For secure authentication.

SSL/TLS and AES: To encrypt data during transit and at rest.

Elasticsearch: For efficient and scalable search capabilities.

News API integration: To fetch cybersecurity news articles and updates.

Our main challenge involved our client’s temporary budget constraints.

We suggested breaking the project into phases so we could keep moving forward without delay while the client got additional funds.

Since cybersecurity dashboards handle sensitive data like login credentials, incident details, and vulnerabilities, they could be exploited if exposed. That’s why another challenge was to secure the dashboard. Technologies that we use provide strong security features. Laravel protects against vulnerabilities like DDoS attacks, SQL injections, and CSRF by default.

We transmit JWT authentication tokens via cookies, ensuring secure session management. We use third-party authentication services, like Auth0, and validate incoming data to ensure only expected fields are processed.

Results

Despite the challenges, we successfully built the dashboard with all key features in around 380 hours. We focused on delivering robust results and adapting to new tasks, working flexibly in the client's interest. Now, the company uses the dashboard to give its teams clear insights into threats, helping them make fast and informed decisions.

2
Backend developers
1
Team lead
2
Frontend developers
1
UI/UX designer
~ 380 hrs
Timeline
~ $15,000
Total cost
Thanks
for watching!
This site uses cookies to store information on your device. Some are essential, while others help us enhance your experience by providing insights into how our website is used.
Necessary Cookies
Always Active
Enable core functionality like navigation and access to secure areas. the website may not function properly without these and can only be disabled through browser settings.
Analytics Cookies
Help us improve our website by collecting and reporting usage information.
This site uses cookies to store information on your device.