Skip to content

This repository contains a comprehensive MERN (MongoDB, Express.js, React.js, Node.js) application that I developed as an assignment for an internship. The project leverages a full-stack architecture to retrieve data from a backend server and employs the powerful D3.js library for data visualization.

Notifications You must be signed in to change notification settings

coldcoffeee/visualisation-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Image Description

Visualisation Dashboard

This project was built in 5 days as an assignment by an organization (name kept anonymous).

Table of Contents

Backend

The backend of this project utilizes Mongoose and Express.js. It incorporates classified JSON data provided by the organization. Mongoose models were created to structure the data, which was then uploaded to a MongoDB database. Various RESTful API endpoints were developed to retrieve data from the backend.

Frontend

The frontend of this project was built using React.js. Notably, all the styling is implemented using pure CSS, with no external libraries used. The dashboard is fully responsive and features the following types of graphs: Bar, Line, Pie, and Scatter plot. These graphs were created using D3.js and SVG. Data is passed between components using the Context API.

Screenshots

Overview

Overview

Bar Graph

Bar Graph

Line Graph

Line Graph

Pie Chart

Pie Chart

Scatter Plot

Scatter Plot

Folder Structure

The project is well-organized, following MVC (Model-View-Controller) norms. Here is the folder structure:

├── backend
│ ├── app.js
│ ├── controllers
│ │ ├── articleControllers.js
│ │ ├── countryControllers.js
│ │ ├── pestleControllers.js
│ │ ├── sectorControllers.js
│ │ ├── sourceControllers.js
│ │ └── topicControllers.js
│ ├── package.json
│ ├── routes
│ │ ├── articleRoutes.js
│ │ ├── countryRoutes.js
│ │ ├── pestleRoutes.js
│ │ ├── sectorRoutes.js
│ │ ├── sourceRoutes.js
│ │ └── topicRoutes.js
│ ├── schemas
│ │ ├── articleSchema.js
│ │ ├── countrySchema.js
│ │ ├── pestleSchema.js
│ │ ├── reportSchema.js
│ │ ├── sectorSchema.js
│ │ ├── sourceSchema.js
│ │ └── topicSchema.js
│ └── utils
│ ├── data.js
│ └── dataUploadHandler.js
├── demonstration.webm
├── frontend
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── index.html
│ │ ├── logo192.png
│ │ ├── logo512.png
│ │ ├── manifest.json
│ │ └── robots.txt
│ └── src
│ ├── App.js
│ ├── App.module.css
│ ├── components
│ │ ├── GraphCardContainer
│ │ │ ├── GraphCard
│ │ │ │ ├── Graph
│ │ │ │ │ ├── BarGraph.js
│ │ │ │ │ ├── LineGraph.js
│ │ │ │ │ ├── PieGraph.js
│ │ │ │ │ └── ScatterPlotChart.js
│ │ │ │ ├── GraphCard.js
│ │ │ │ └── GraphCard.module.css
│ │ │ └── GraphCardContainer.js
│ │ ├── Header
│ │ │ ├── Header.js
│ │ │ └── Header.module.css
│ │ ├── Overview
│ │ │ ├── OverviewCard.js
│ │ │ ├── OverviewCard.module.css
│ │ │ ├── Overview.js
│ │ │ └── Overview.module.css
│ │ └── UI
│ │ └── LoadingCard
│ │ ├── LoadingCard.js
│ │ └── LoadingCard.module.css
│ ├── context
│ │ ├── app-context.js
│ │ └── AppContextProvider.js
│ ├── index.css
│ └── index.js
└── README.md

About

This repository contains a comprehensive MERN (MongoDB, Express.js, React.js, Node.js) application that I developed as an assignment for an internship. The project leverages a full-stack architecture to retrieve data from a backend server and employs the powerful D3.js library for data visualization.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published