From b7fb83244e528ce720388ed751293fab610e0591 Mon Sep 17 00:00:00 2001 From: Amin Jalal Date: Sun, 10 Nov 2024 16:55:44 +0300 Subject: [PATCH 01/10] Added all the Prettier configuration files and dependencies. --- .gitattributes | 3 + .gitignore | 1 + .prettierignore | 20 + .prettierrc | 10 + .vscode/settings.json | 4 +- 404.html | 35 +- index.html | 751 +++++++----- package-lock.json | 32 + package.json | 14 + website/pages/codeOfconduct.html | 466 +++++--- website/pages/contributor.html | 84 +- website/pages/license.html | 245 ++-- website/pages/login.html | 526 +++++---- website/pages/signup.html | 495 ++++---- website/scripts/codeOfconduct.js | 123 +- website/scripts/contributor.js | 138 ++- website/scripts/license.js | 166 +-- website/scripts/script.js | 524 ++++----- website/styles/404.css | 122 +- website/styles/contributor.css | 328 +++--- website/styles/style.css | 1887 +++++++++++++++--------------- 21 files changed, 3225 insertions(+), 2749 deletions(-) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..b1d3d7ce --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +# Handle Automatically line endings depending on the OS +* text=auto +* text eol=lf \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..40b878db --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..107326a6 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,20 @@ +# Ignore the software directory +software/ + +# Ignore the documentation Directory +Documentation/ + +# Ignore .vscode directory +.vscode/ + +# Ignore .github directory +.github/ + +# Ignore .node_modules directory +node_modules/ + +# Ignore all .json files +*.json + +# Ignore all markdown files +*.md \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..db22dcac --- /dev/null +++ b/.prettierrc @@ -0,0 +1,10 @@ +{ + "printWidth": 100, + "tabWidth": 4, + "semi": true, + "useTabs": true, + "bracketspacing": false, + "arrowParens": "always", + "trailingComma": "none", + "singleQuote": false +} diff --git a/.vscode/settings.json b/.vscode/settings.json index f673a71b..a8b5e0e2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,5 @@ { - "liveServer.settings.port": 5502 + "liveServer.settings.port": 5502, + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode" } \ No newline at end of file diff --git a/404.html b/404.html index 8f377ba4..57fe149c 100644 --- a/404.html +++ b/404.html @@ -1,16 +1,21 @@ - + - - - - Page Not Found :( - - - - -
44
-
Oops! Page not found.
-
We couldn't find the page you requested. It might be unavailable at the moment or have a different URL.
- Return to Home - - \ No newline at end of file + + + + Page Not Found :( + + + + +
+ 44 +
+
Oops! Page not found.
+
+ We couldn't find the page you requested. It might be unavailable at the moment or have a + different URL. +
+ Return to Home + + diff --git a/index.html b/index.html index ce69fa2a..5bc0a715 100644 --- a/index.html +++ b/index.html @@ -1,327 +1,440 @@ - + + + + + Dataverse + + + + + + + + + - - - - Dataverse - - - - - - - - - + + +
+ +
+
+
+
+ + +
+ +
+ + - - -
- -
-
-
-
- - -
- -
- - + + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
Home
+ Github Repository +
+ Documentation +
+ Contributors +
+ Figma Design +
+ Code of Conduct +
License
+
+
+ SCROLL TO KNOW MORE +
+
+
+
+
+
+ +
+
+
+
+
+

Data

+

verse

+
+

+ An Open-Source Software (OSS) that allows organizing, analyzing and visualizing + data, providing flexible tools for financial tracking and customized chart + creation. +

+

+ The adjoining map shows people who are using or contributing to Dataverse. +

+ - - -
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - -
Home
Github Repository
Documentation
Contributors
- Figma Design -
Code of Conduct -
License
-
-
SCROLL TO KNOW MORE -
-
-
-
-
-
-
-
-
-
-

Data

-

verse

-
-

An Open-Source Software (OSS) that allows organizing, analyzing and visualizing data, - providing flexible tools for financial tracking and customized chart creation. -

-

The adjoining map shows people who are using or contributing to Dataverse.

- + +
+
+
+
+
+
+

So, What does this Software do?

+

Visualise Data!

+

+ Easily transform raw data into visually appealing charts such as bar graphs, pie + charts, and line graphs. It also supports advanced data visualisation techniques + like heatmaps, Radar charts, 3D Surface Plots, etc.

+ You can also download the generated plots or save the data for later use. +

+
+
+ + +
+
+
+
+ + +
+
+

Track Finances!

+

+ Manage your finances by providing data such as income, expense, investment, etc. + and get useful results such as visualization of data, extrapolated data, max + expenditure, etc. Also, the software automatically stores data with a timestamp. +

+
+
- +
+

Here are some examples of what you can do with Dataverse

+
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + +
+
+
+
+

Want to contribute to this Project?

+
+
+
+
+

Technologies Used

+
+
+

Python

+

Numpy

+

Pandas

+

Matplotlib

+

Tkinter

+

MySQL

+

HTML

+

CSS

+

JavaScript

+

MS Excel

+
+

+ As this is an open-source project, contributions are always welcome. Whether + you're interested in adding new features, fixing bugs, or improving + documentation, your contributions are valuable. You can contribute to the + project by visiting the link to the GitHub repository provided below. Join me in + making Dataverse even better for everyone! +

+ +
+
+ + +
+
+
+
+ +
+
+ + Dataverse +
+
+
+

Let Me Know Your Thoughts!

+ + + +
+ + + + + + + + + + +
+ +
+
+ -
- - - - - - - \ No newline at end of file + var script = document.createElement("script"); + script.src = "https://www.chatbase.co/embed.min.js"; + script.setAttribute("chatbotId", "oKgfHa3hvh7Ic0ypSqDbv"); + script.setAttribute("domain", "www.chatbase.co"); + script.defer = true; + document.body.appendChild(script); + }, 3000); + +
+
+

+ Designed & Developed by Tejas Gupta +

+
+

+ © 32949832 Tejas Gupta +

+
+
+ + + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..98f57528 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,32 @@ +{ + "name": "dataverse", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "dataverse", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "prettier": "3.3.3" + } + }, + "node_modules/prettier": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..e6b0d6e7 --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "dataverse", + "version": "1.0.0", + "description": "![Python](https://img.shields.io/badge/Python-FFD43B?style=for-the-badge&logo=python&logoColor=blue)\r ![MySQL](https://img.shields.io/badge/MySQL-005C84?style=for-the-badge&logo=mysql&logoColor=white) \r ![NumPy](https://img.shields.io/badge/numpy-%23013243.svg?style=for-the-badge&logo=numpy&logoColor=white)\r ![Pandas](https://img.shields.io/badge/pandas-%23150458.svg?style=for-the-badge&logo=pandas&logoColor=white)\r ![Matplotlib](https://img.shields.io/badge/Matplotlib-%2311557c.svg?style=for-the-badge&logo=python&logoColor=white)\r ![Tkinter](https://img.shields.io/badge/Tkinter-blue?style=for-the-badge&logo=python&logoColor=white) \r ![HTML5](https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge&logo=html5&logoColor=white) \r ![CSS3](https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge&logo=css3&logoColor=white)\r ![JavaScript](https://img.shields.io/badge/JavaScript-323330?style=for-the-badge&logo=javascript&logoColor=F7DF1E) \r ![Microsoft Excel](https://img.shields.io/badge/Microsoft_Excel-217346?style=for-the-badge&logo=microsoft-excel&logoColor=white)", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "Tejas Gupta", + "license": "MIT", + "devDependencies": { + "prettier": "3.3.3" + } +} diff --git a/website/pages/codeOfconduct.html b/website/pages/codeOfconduct.html index ae961e74..d170e9b0 100644 --- a/website/pages/codeOfconduct.html +++ b/website/pages/codeOfconduct.html @@ -1,183 +1,295 @@ - + + + + + Dataverse | Code of Conduct + + + + - - - - Dataverse | Code of Conduct - - - - + +
+
+
+ + + +
+
+ + - -
-
-
- - - -
-
- - - - - -
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - -
Home
Github Repository
Documentation
Contributors
- Figma Design -
Code of Conduct
License
-
+ + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
Home
+ Github Repository +
+ Documentation +
Contributors
+ Figma Design +
+ Code of Conduct +
License
+
-
-

CONTRIBUTOR COVENANT CODE OF CONDUCT

- -
-

Our Pledge

-

We as members, contributors, and leaders pledge to make participation in our community a harassment-free - experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex - characteristics, gender identity and expression, level of experience, education, socio-economic status, - nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation. -

-
-

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

-
- -
-

Our Standards

-

Examples of behavior that contributes to a positive environment for our community include:

-
    -
  • Demonstrating empathy and kindness toward other people
  • -
  • Being respectful of differing opinions, viewpoints, and experiences
  • -
  • Giving and gracefully accepting constructive feedback
  • -
  • Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
  • -
  • Focusing on what is best not just for us as individuals, but for the overall community
  • -
-
-

Examples of unacceptable behavior include:

-
    -
  • The use of sexualized language or imagery, and sexual attention or advances of any kind
  • -
  • Trolling, insulting or derogatory comments, and personal or political attacks
  • -
  • Public or private harassment
  • -
  • Publishing others’ private information, such as a physical or email address, without their explicit permission
  • -
  • Other conduct which could reasonably be considered inappropriate in a professional setting
  • -
-
- -
-

Enforcement Responsibilities

-

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and - will take appropriate and fair corrective action in response to any behavior that they deem - inappropriate, threatening, offensive, or harmful. -

-
-

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, - code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and - will communicate reasons for moderation decisions when appropriate. -

-
- -
-

Scope

-

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official email address, posting via an official social media account, or acting as an appointed representative at an online or offline event.

-
- -
-

Enforcement

-

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community - leaders. All complaints will be reviewed and investigated promptly and fairly. -

-
- -
-

Enforcement Guidelines

-
    -
  1. -

    Correction

    -
      -
    • Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
    • -
    • Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
    • -
    -
  2. -
  3. -

    Warning

    -
      -
    • Community Impact: A violation through a single incident or series of actions.
    • -
    • Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
    • -
    -
  4. -
  5. -

    Temporary Ban

    -
      -
    • Community Impact: A serious violation of community standards, including sustained inappropriate behavior.
    • -
    • Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
    • -
    -
  6. -
  7. -

    Permanent Ban

    -
      -
    • Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
    • -
    • Consequence: A permanent ban from any sort of public interaction within the community.
    • -
    -
  8. -
-
- -
-

Attribution

-

This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.

-
-
- - - - +
+

CONTRIBUTOR COVENANT CODE OF CONDUCT

- +
+

Our Pledge

+

+ We as members, contributors, and leaders pledge to make participation in our + community a harassment-free experience for everyone, regardless of age, body + size, visible or invisible disability, ethnicity, sex characteristics, gender + identity and expression, level of experience, education, socio-economic status, + nationality, personal appearance, race, caste, color, religion, or sexual + identity and orientation. +

+
+

+ We pledge to act and interact in ways that contribute to an open, welcoming, + diverse, inclusive, and healthy community. +

+
+ +
+

Our Standards

+

+ Examples of behavior that contributes to a positive environment for our + community include: +

+
    +
  • Demonstrating empathy and kindness toward other people
  • +
  • Being respectful of differing opinions, viewpoints, and experiences
  • +
  • Giving and gracefully accepting constructive feedback
  • +
  • + Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +
  • +
  • + Focusing on what is best not just for us as individuals, but for the overall + community +
  • +
+
+

Examples of unacceptable behavior include:

+
    +
  • + The use of sexualized language or imagery, and sexual attention or advances + of any kind +
  • +
  • + Trolling, insulting or derogatory comments, and personal or political + attacks +
  • +
  • Public or private harassment
  • +
  • + Publishing others’ private information, such as a physical or email address, + without their explicit permission +
  • +
  • + Other conduct which could reasonably be considered inappropriate in a + professional setting +
  • +
+
+ +
+

Enforcement Responsibilities

+

+ Community leaders are responsible for clarifying and enforcing our standards of + acceptable behavior and will take appropriate and fair corrective action in + response to any behavior that they deem inappropriate, threatening, offensive, + or harmful. +

+
+

+ Community leaders have the right and responsibility to remove, edit, or reject + comments, commits, code, wiki edits, issues, and other contributions that are + not aligned to this Code of Conduct, and will communicate reasons for moderation + decisions when appropriate. +

+
+ +
+

Scope

+

+ This Code of Conduct applies within all community spaces, and also applies when + an individual is officially representing the community in public spaces. + Examples of representing our community include using an official email address, + posting via an official social media account, or acting as an appointed + representative at an online or offline event. +

+
+ +
+

Enforcement

+

+ Instances of abusive, harassing, or otherwise unacceptable behavior may be + reported to the community leaders. All complaints will be reviewed and + investigated promptly and fairly. +

+
+ +
+

Enforcement Guidelines

+
    +
  1. +

    Correction

    +
      +
    • + Community Impact: Use of inappropriate language or + other behavior deemed unprofessional or unwelcome in the community. +
    • +
    • + Consequence: A private, written warning from + community leaders, providing clarity around the nature of the + violation and an explanation of why the behavior was inappropriate. + A public apology may be requested. +
    • +
    +
  2. +
  3. +

    Warning

    +
      +
    • + Community Impact: A violation through a single + incident or series of actions. +
    • +
    • + Consequence: A warning with consequences for + continued behavior. No interaction with the people involved, + including unsolicited interaction with those enforcing the Code of + Conduct, for a specified period of time. This includes avoiding + interactions in community spaces as well as external channels like + social media. Violating these terms may lead to a temporary or + permanent ban. +
    • +
    +
  4. +
  5. +

    Temporary Ban

    +
      +
    • + Community Impact: A serious violation of community + standards, including sustained inappropriate behavior. +
    • +
    • + Consequence: A temporary ban from any sort of + interaction or public communication with the community for a + specified period of time. No public or private interaction with the + people involved, including unsolicited interaction with those + enforcing the Code of Conduct, is allowed during this period. + Violating these terms may lead to a permanent ban. +
    • +
    +
  6. +
  7. +

    Permanent Ban

    +
      +
    • + Community Impact: Demonstrating a pattern of + violation of community standards, including sustained inappropriate + behavior, harassment of an individual, or aggression toward or + disparagement of classes of individuals. +
    • +
    • + Consequence: A permanent ban from any sort of + public interaction within the community. +
    • +
    +
  8. +
+
+ +
+

Attribution

+

+ This Code of Conduct is adapted from the + Contributor Covenant, version 2.1, available at + https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. +

+
+
+ + + + + diff --git a/website/pages/contributor.html b/website/pages/contributor.html index 50199bb6..c53372f2 100644 --- a/website/pages/contributor.html +++ b/website/pages/contributor.html @@ -1,46 +1,48 @@ - + - - - - Dataverse's Contributors - - - - -
+ + + + Dataverse's Contributors + + + + +
+ +
+

Dataverse's Contributors Statistics

+
+ +
+
- -
-

Dataverse's Contributors Statistics

-
- -
-
+ +
+

Meet Our Contributors

+
+ +
+
+
+
+
- -
-

Meet Our Contributors

-
- -
-
-
-
-
+ +
+

Ready to Make an Impact?

+

Join our community and help shape the future of Dataverse.

+
+ +
+ +
+
+ - -
-

Ready to Make an Impact?

-

Join our community and help shape the future of Dataverse.

-
- -
- -
-
- - - - + + diff --git a/website/pages/license.html b/website/pages/license.html index 289a1d81..2ba6689f 100644 --- a/website/pages/license.html +++ b/website/pages/license.html @@ -1,117 +1,140 @@ - + - - - - Dataverse | MIT License - - - - + + + + Dataverse | MIT License + + + + - -
-
-
- - - - -
-
- - - - -
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - -
Home
Github Repository
Documentation
Contributors
- Figma Design -
Code of Conduct
License
-
+ +
+
+
+ + + +
+
+ -
-

MIT License

-
- + + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
Home
+ Github Repository +
+ Documentation +
Contributors
+ Figma Design +
+ Code of Conduct +
License
+
- -
-

Copyright © 32949832 Tejas Gupta

-
-
- Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: -

- The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. -

- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -
- +
+

MIT License

+
+ - - - +
+

Copyright © 32949832 Tejas Gupta

+
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this + software and associated documentation files (the "Software"), to deal in the Software + without restriction, including without limitation the rights to use, copy, modify, + merge, publish, distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to the following + conditions: +

+ The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. +

+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. +
+ + + + + diff --git a/website/pages/login.html b/website/pages/login.html index a155f505..a270a3a8 100644 --- a/website/pages/login.html +++ b/website/pages/login.html @@ -1,229 +1,323 @@ - + - - - - - - - Login to Dataverse - - + @media screen and (max-width: 660px) { + .login-container { + width: 90vw; + margin-bottom: 100px; + } + .image1 { + height: 100px; + display: none; + } + .image2 { + height: 100px; + overflow-x: hidden; + } + #forgot { + width: 90%; + } + } + + - - login_bg - login_bg - Dataverse Logo -
- - -
- - - - - + // Check if "Remember Me" is checked + const rememberMe = document.getElementById("rememberMe").checked; + if (rememberMe) { + localStorage.setItem("email", emailValue); + } else { + localStorage.removeItem("email"); + } + + // Clear the input fields + emailInput.value = ""; + passwordInput.value = ""; + // Redirect to index.html + alert("Login successful!"); + window.location.href = "../../index.html"; + }); + + + + diff --git a/website/pages/signup.html b/website/pages/signup.html index 7311df37..d3ac39c0 100644 --- a/website/pages/signup.html +++ b/website/pages/signup.html @@ -1,264 +1,249 @@ - + - - - - - - - Sign Up to Dataverse - - + @media screen and (max-width: 660px) { + .login-container { + width: 90vw; + } + .image1 { + height: 100px; + display: none; + } + .image2 { + height: 100px; + overflow-x: hidden; + } + input { + width: 90%; + } + } + + - - sign_bg - sign_bg - Dataverse Logo -
- that was preventing prettier from work. --- index.html | 745 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 426 insertions(+), 319 deletions(-) diff --git a/index.html b/index.html index 61996278..9efaa47a 100644 --- a/index.html +++ b/index.html @@ -1,327 +1,434 @@ - + + + + + Dataverse + + + + + + + + + - - - - Dataverse - - - - - - - - - + + +
+ +
+
+
+
+ + +
+ +
+ + - - -
- -
-
-
-
- - -
- -
- - + + +
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + +
Home
+ Github Repository +
+ Documentation +
+ Contributors +
+ Figma Design +
+ Code of Conduct +
License
+
+
+ SCROLL TO KNOW MORE +
+
+
+
+
+
+ +
+
+
+
+
+

Data

+

verse

+
+

+ An Open-Source Software (OSS) that allows organizing, analyzing and visualizing + data, providing flexible tools for financial tracking and customized chart + creation. +

+

+ The adjoining map shows people who are using or contributing to Dataverse. +

+ - - -
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - -
Home
Github Repository
Documentation
Contributors
- Figma Design -
Code of Conduct -
License
-
-
SCROLL TO KNOW MORE -
-
-
-
-
-
-
-
-
-
-

Data

-

verse

-
-

An Open-Source Software (OSS) that allows organizing, analyzing and visualizing data, - providing flexible tools for financial tracking and customized chart creation. -

-

The adjoining map shows people who are using or contributing to Dataverse.

- + +
+
+
+
+
+
+

So, What does this Software do?

+

Visualise Data!

+

+ Easily transform raw data into visually appealing charts such as bar graphs, pie + charts, and line graphs. It also supports advanced data visualisation techniques + like heatmaps, Radar charts, 3D Surface Plots, etc.

+ You can also download the generated plots or save the data for later use. +

+
+
+ + +
+
+
+
+ + +
+
+

Track Finances!

+

+ Manage your finances by providing data such as income, expense, investment, etc. + and get useful results such as visualization of data, extrapolated data, max + expenditure, etc. Also, the software automatically stores data with a timestamp. +

+
+
- +
+

Here are some examples of what you can do with Dataverse

+
+ + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + +
+
+
+
+

Want to contribute to this Project?

+
+
+
+
+

Technologies Used

+
+
+

Python

+

Numpy

+

Pandas

+

Matplotlib

+

Tkinter

+

MySQL

+

HTML

+

CSS

+

JavaScript

+

MS Excel

+
+

+ As this is an open-source project, contributions are always welcome. Whether + you're interested in adding new features, fixing bugs, or improving + documentation, your contributions are valuable. You can contribute to the + project by visiting the link to the GitHub repository provided below. Join me in + making Dataverse even better for everyone! +

+ +
+
+ + +
+
+
+
+ +
+
+ + Dataverse +
+
+
+

Let Me Know Your Thoughts!

+ + + +
+ + + + + + + + + + +
+ +
+
+ -
- - - - - - - \ No newline at end of file + var script = document.createElement("script"); + script.src = "https://www.chatbase.co/embed.min.js"; + script.setAttribute("chatbotId", "oKgfHa3hvh7Ic0ypSqDbv"); + script.setAttribute("domain", "www.chatbase.co"); + script.defer = true; + document.body.appendChild(script); + }, 3000); + +
+
+

+ Designed & Developed by Tejas Gupta +

+
+

+ © 32949832 Tejas Gupta +

+
+
+ + + + From e615e22f67a31a2e8b1276e988a04f6c505923e8 Mon Sep 17 00:00:00 2001 From: Amin Jalal Date: Mon, 11 Nov 2024 16:22:27 +0300 Subject: [PATCH 06/10] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8b16b270..058bd629 100644 --- a/README.md +++ b/README.md @@ -112,11 +112,11 @@ Now the software should run locally with no errors, feel free to use the softwar ``` npm install ``` -- Then, install the prettier extension in order to format the code consistently accross all devices. +- Then, install the Prettier extension in order to format the code consistently accross all devices. -- After you have installed Prettier, press `Ctrl + Shift + p` and type `Reload window` and select the first option to reload, then prettier will be automatically applied. +- After you have installed Prettier, press `Ctrl + Shift + p` to open the Command Palette and type `Reload window` and select the first option to reload, then prettier will be automatically applied. --- From df5e4e907a7724ae2bb04709801b2e6ab57129f9 Mon Sep 17 00:00:00 2001 From: Amin Jalal Date: Mon, 11 Nov 2024 16:34:22 +0300 Subject: [PATCH 07/10] Removed the __pycache__ folder. --- .../dataVisualization.cpython-311.pyc | Bin 7263 -> 0 bytes .../__pycache__/financeTracker.cpython-311.pyc | Bin 30229 -> 0 bytes software/__pycache__/functions.cpython-311.pyc | Bin 4614 -> 0 bytes software/__pycache__/main.cpython-311.pyc | Bin 21152 -> 0 bytes software/__pycache__/mainGUI.cpython-311.pyc | Bin 37918 -> 0 bytes software/__pycache__/plot.cpython-311.pyc | Bin 11648 -> 0 bytes software/__pycache__/report.cpython-311.pyc | Bin 6865 -> 0 bytes 7 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 software/__pycache__/dataVisualization.cpython-311.pyc delete mode 100644 software/__pycache__/financeTracker.cpython-311.pyc delete mode 100644 software/__pycache__/functions.cpython-311.pyc delete mode 100644 software/__pycache__/main.cpython-311.pyc delete mode 100644 software/__pycache__/mainGUI.cpython-311.pyc delete mode 100644 software/__pycache__/plot.cpython-311.pyc delete mode 100644 software/__pycache__/report.cpython-311.pyc diff --git a/software/__pycache__/dataVisualization.cpython-311.pyc b/software/__pycache__/dataVisualization.cpython-311.pyc deleted file mode 100644 index 011b683c6c3989e3106e03f255837aff97e313b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7263 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 diff --git a/software/__pycache__/financeTracker.cpython-311.pyc b/software/__pycache__/financeTracker.cpython-311.pyc deleted file mode 100644 index 781b392f9018972527b676f80f5d8dca3a682c00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30229 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 P(V|}mr`e|f(t`gRX*}O` diff --git a/software/__pycache__/functions.cpython-311.pyc b/software/__pycache__/functions.cpython-311.pyc deleted file mode 100644 index 1d1f949f0f3dc17a23e2ff82c3a711e5c38e9c4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4614 zcmd5R=B^R(pKW7R8{hjhd$)7kA1YGkz$R66t&6&eWFdJN_pzJW3b1Nt@>2; zdVKCV_iyew_nz;Z`MsZlGN84LM}hk*5q1i{&AeL%<|!ppGObccdW4~?JUhZd8>4bb zZiFLkl82!XGqp31l3AIPJu?5?yUtP6Gx%4_h!=U+gdNFUuY>Tc)-WQ-!Xh=|lYKz_ zvL9%ZOb=1frcE*?9;I!;lpds1$wanK)f19BsT-!vVO=+&3r$Hz-^ZWW-f=~fv;>NB zHdh^xG7z@;8Obo_WLuCWSVb~Wg08)qqKI8s_`eGQeM*_GKABzz=~=CXrc5$&yJV?7 zy|s}P*lTz11eK%Bnr$d*&9&CfnlO*uJ+EPoYkqxBqcwAk*;MZ%C$r9g7Vxi@7&8G|r}}EWK7c`Pw94%y3p4%u zseSOIv!2F1!|gg$-{)Ge&eyrdlZF}Y8`r#NJ$G-*o?h3k_TFWg0{`0=&jhaCyL)#q zJ}k!ihx;>;LCr*1G$)Zroaus?3B?A7uHL;dFeoN<4W&29D>uDBFu8CU=7I>`%OXv- zsrR%$BXp-vcPCGG%Naw_z&TA((M-KMS3H>-Q{)~)QYD=3nb1|>O+7Jf^d$6TQkNAo zO*)a$gC5Pmii(-Ss0V2#PR9TlqT;NirjT)RKG(DNIWeC*5#1zv+9Y~!5=Ywf07)GN z0`nzNl4T@|Mk| z4ISHF^av$V08+v@G82=Ms@fhbX%ooir5Uni+oNbRDbr>R6Wg4rBw;A9;||A<>o_Ty zwkMfR=o%~vS}SIhw>e@LThMB+GZK?1DcQ7QGp1tG4-MjwqEp`YCoYWM1Irqtij*|b z=xq(furiBAW5}2`^_fwk>n!x6(|x0cK5ouQ7>$mnw1lbXn$bIxwgs?+qZs}ntV>+Z z_#>Qap4#Aih2ApPW^rvLu5E)07UYH7i?{Q)-*Uc^|8SY>u(*yA*HHk>vIA#gQO3p*}*0peR@n-(!hS&e? zr^}aC+sjQ|R#R8m+iiKf^8*!r{$CX3y~_N>1UxDV6U>!m}X)`8f3p9 zRh+#|8VA`giFAh@V*d_18YXQ(^ZnbFEB2MS{T8>s#O(*=p4@tTYazZE&&M5OpDc4x zi;I@H==UB<9uDRm93IsW@5r4e9`Nn}94SP5dJTlVWj7)~?5af&h+QteJ~z8JUb@D8 zINmiP8pJN2YrS1DR0gw?Ud+mDj@3@d+#==P)fCaqDKTo-x}534Q;2sE6`%9#V25Wl z6wGSraLZGrmh;tTHBtPe`0$r!YYn&u z20(^{k!hyko!&_#$p8*c!lk0|q#5<%qc8@O*o4V;aXXp9sz|e&WMm|;GDDC96GKLM z+(m{&$q=rJjTjjz)wI2!Nh+xswg-|h0P#9xIf~(fWF8^pZAKnQo~rQC*Zi4R{FxW6 zW&W(ipZ%b3_`)llOPyt3yX9-o$H4gupDv^q)5W8Yv-xZ#e4@Y?_&1IPe)nUm`yA+A zZaHtYoG*AcB8OI6*XCXxDn$m$kpU|*Q1Dd3tp&c))SUmqu}#8tgQ=SDynt5XJ8)lN zqdR2{JZf*r?z+VgwOxZg>`A+BFAKRNmt`Sy>wsIzeb|$-9+|0Mr`^$h`ACCj?aE!V z+$`;Q6|enG=GJO{ z?YQjC@n)cY0eHyb-$~&gW7D8*XR`9b(J#_q0294%b{yl=vtwF zBha!EUy85xl>;4CpraJ%*l0fZwDaek<>q5n^Rcx)tGRnkvYJm8VwKkOuUoIYYQ6F& zuG~6kwGI}p7p}i)Jzco|HV`a4{3Zsgg(JnIOJ>2`i0m&N_^KQkvm#@q$XKPRB_DT? zI~uUV$+YoM?S*VwgF6EWy06YM$u#Z+13PgGUjmMVC}$u(M%tZ#M-t#_Xd(xKe?$lg znblw{T!hb(l!`9n>(EBf-}n`fEtaO~3U#>D_*AH-yz{G29i_(S4a4T?H+&@jU~#HA zy*B$|nThw0S GZ2R97b=<1} diff --git a/software/__pycache__/main.cpython-311.pyc b/software/__pycache__/main.cpython-311.pyc deleted file mode 100644 index e031bfe680ade1b63463bc785b0565b32d22c7a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21152 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

^vvMc zYo2oh(ZS93+s~iIZ39rEZ-U+d+(`XFq;ojNvB;m>9ysJhsc0SWci8CjL;BPjk#Xo_{lh!I zg8R2{|8D)m#3DRDhx_l~{`YYIEe*j3aQ{cRvx(@r0{3rG=5OGJnz%Gd{0wf~TGWF4 zOVJqt&=*vOVe~#eduU*a3(YEr3!;r9A=;~;4yhf&JkoaXGc-Q~=K#a^KhNkBkfJ}&9Qt0B1KOS{FuF00WzcwYNN;C1cMjSU>GzU!f3O+spxc?QT1k| z1@fWuBZ1uP_z<0g&ZOQ)_HI(RjLXG}`D7!fb&`DF{{3#3_2LaLYRj zd(hP2pf!TjWf@kQBXZ%VOGpd*>>vk zODKnYvdo$(qM`()wAynXQ$hrZzwGcq(jtAT-x~mBCb-XY$00Lq@&~~+9Zvg1E%>Y! zJ?iK7L>fR6qS<0th?rZr5>ENPv>?+?3QXib<>AqH#eoQ$~fT3;ePTOba!&d@rFy%p* zH>3yMh-zo&(+*IMA+=AyKM9`oC4}_8z{j5U!k-nswmh>G7zKOylRZNf(rynz5dSmy<>L0pA7KLYA3 zDx(82&YeN8=)Vbo#xTILb7}Lybssy2)v^XG^U~VT<+LscYCBVy=ce$8K><1on(MU2 z3kqI17^j&7)pF<>9BnI6Am7iu3T=K&;7tQosC{QT49CGD0rq9?E@UAqa`*NW z8cm9*7S&gZs1?;$ig1eAD@Bwp;=dGOU&MbYqDoX>DZ;jh|55}cX0N=8H6o$99usAY z7MUnZG~e$Pi7tugl8G*eq_nz4&AOH_jUydiE?hJ|Hd2d|?_CluC$FxIe_16OM-S0ocBn>f+LA+a#R}s=;J?-?n5Epj4G?suE3ADQnsL6H614 zwMMqq#Py0+!U5_-jky*FNQdZne|Tv);Yf7cb>(z1ppHqEIuhk#X$@TXc!%hOkM=&9 z>=Vg8h^*_Yt@SB)qcD9tB)OYqce9{dHxXrr)|{SIr{`gl6U2Q4% zku~?=s(bL^RmnXfyGH~M(#?%5k7U2!L|0>~s`jsIe^Dz{?UJi@-S3dA_TKl(RqaAQ zZZ5GW$xE(1vTKj%+LLna5QY-WtuwdJ2xo4cd93u;DY?32SC{DOO1a8~E4TWgmx{_n z-7+umsmdJ*gIF^qRZh#5(_-axs&Z#Sf7g=i{J?(Kp0MNmgfBTMR<=r&t#V~6L|$YW zWl+sX=O~Qa8u@m;n{e$wdY_(+0O{aB3*EM2$UoSl9Pfb;62FBX$O3B*diD~QGQqP{ zeWQ9adMl;i0Ft8Bs(%(zdsZs5Q9{GgOnfF)Rw;BRYNWCjxvV8Vm;!b4)ungi?% zyOXua+EiIp;=uCD!pku7#}(DW(F~Pbmt6C*YhJ_`p2@@>$<-{ofF4s7wQ@zvTE(8# ziakv{f4}+{POiW!tPK;_owxS40hui*j5iYgF?@44KAf_Z#aYpHM6$gi+g?#Lh4o8U<5!`_bu$5aLtJCsLXg(D zZ|Ok%K!#UONaT=A4vFN@pB|e*g@~usO2tQoa`<~ka@5O?ddb=#TN^+wSlZVtJ*$?U z&-9YzCE4=QvrKTQE#4XDZydaNFl!8eGhm{#H>cTy$hux~Skf?f@ zsu!vHEDcH2E}7aTQoB-47Xan15Nr2|Zgi#G+XXgp^p^j&AB(0t*Osr{n!i1tY+9{o z5i43ULaIxu?3OFL#ma6-NLAPU_3$r-KNz_?A{JEmHUd>@)w%cKgXA#D6_vIJI5(4|?*HTlWuc6#t5}k5&_3RU1ZobYInxqx*GV e?MLzdzRP~`5b-|_8Qya19ueeQ4&5UMivJ(d8jP_3 diff --git a/software/__pycache__/mainGUI.cpython-311.pyc b/software/__pycache__/mainGUI.cpython-311.pyc deleted file mode 100644 index 48bf5760d678f0dcf05bbadda81adebe953a1d26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37918 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 h5+me)0khc?`T{yiLi@Yw6h8B6kk&XwhRx%`+*K zcjlNr^rnz^hc<&R1W)@T}~Er}q{vC8gbN7IZ_k4HC()JRR95XzyCkr4ibZq#k|1aBr z?zPyqH{LR0a%m~ar>7)EHL)y7su|)ld}e{a$}1`_i^q;X`<&^WNI_dtOn{T&xZcO?HM?lsQQjOqTSH^NM&8{E=HoCDoLa;pK(wq0#=~{xcV2gg%iHVgnb>pR-z=SL& z#ne?%h&3@=S}Uy0oi#&e-eWG$jm1f5JK;TvA7snK7LY;%nH71KQlB^z{Sun%an5+$!n2@FEgfK221O-Hi zasi@50o@O^efZ=?=-_(jV9D2B@)&CWH_iddWHP}&&9W4b~Z@hc`T|E#p0{pfP%54+JCQGPXm8(YZ!0Mb4JhBlyu^v3}g>vV#@%)e;95#Z( zT5z~ZvS0*{ZUkRg5590Ga_99gJN4jMBY0M`@`K1zgpb3=^sMid&W~4QAo_BCD^)|$z&D7 zfIJR<7V7#EN3yAe6ypnJXU?%ln7m}$|LAdVAh;BVU)M4h;R(7%rk(6oPw){E_TKTIXdSM zSb@u7!M*0W=>$3Ot0aPFY!b+DSKGCK`0!g09QI=b-+ z`M_f_`Du9k;69a3DJnRcnU}Khq%0C(Q*}GZDIP-RDGRnKFF|FS^kraG_CZlVn!mr2 zZ{go7%g?TGAD-3&dyT-}YR5yM18@T1O%>Cd#4l|U3*wGVvYwmdQv@qr6RAlhl@(>u zmv!wwdidzX{{5Rv@OClIn9ejmE~W_znuP$LR82R*j4Gd*Op5?pq_iX}fElKEL7L0% ze$|3)u~7@QDX~7VTTYG75|n5%;#;$P+Cotk*hEP`P|pC=bWZc~6@Zys8hoyzE`VUG zI+qgEDU-1b$hJ3#J`XS>b}md&%K+0DZ!s~M zL=#^T7r@@De0mn39j#;((`OALF~g@t6_6L57BeP2lU7YunH?tq0O)2?V3Q)M2{omH zd6=J1DJGLr#c9RFga)Psdgm=$EA@p+9Z$+B0cKI0B+$*PrY5JwRr09bdxY)~Hi5*@o6s$-f{yG?1D!Kd;DVNXH-)3h^CPfM)G1vvtSaB#!~* zX~Obv*a?8Ne4*u@jqslJ@E$$9&j|0+eftgH{=z`X+E-tAHhN!K?|nt@?K67&U`y%# ze#75iID6k0G<;nv^Pfj<{pPdXYrA#dbB6D^!ob&o@KSE&<(0Q?J*@?f>49TL;MjYE zg)_wn03wDhQi}uczjp1l5*q*m*= z+^gZpE^-p3rfpfjc$aX>U*Kc&~x?YItw`0I-f*4cw~X*6r4F*Ul}c3+JlT z-;v2PaEp%H4BV#Sw)@z%IJC^^IBMXihNI;D)%S)LhYHr8OaPA!t&npziQW%Y_`vOG z#qJaH4mg88270k>SctP|O5{#yjkco;i@J&)>RAZ75C8)R>>76yZiQ}FZ-yShJkGj1(>&~Iak*wB5-^_y4CiFNnW8KtXxOsEzjFfUsw>WAo4k96vqj$PTv7#*8KrqBpE1LvGfk(z9 z-fVsaFPmgU*=Y6H7#px|AyRxgcELI~%Ey4fq|U@?lUC7vKQEPr?zL`1T124%;{>l7sk!Bv13IOyIW3sFJ`hm=1|V0`S_VQ-t6E zL4!$66J{rP`k7f(?y6YhoK283y8H&=r9r*vgCa4JN{d#9LWB~JUUB9gVi(+akTbNL zgRT_(l!Fx)?)HChVCg{N3^ zz(X1y+JXMofF3<=M33L0?nVe@zk&NT+z$?nbuZ4n|IW2{mQ%VbX1J^);`88;Z*bSS z<@k!cdg0dbFZLEWojqZ&Cp7j17~9^ZwVZanhj;U3@1?Rs8 zen73&^AtH9+Pwt%&jH-_6C~;w$wvA!Dxem1O03?Ny$IWvNoC0PA=}!D;npsQJLDK? zAc&zJR+@O4Pi5qHq4^!sH3|j9`T&H`ZavUr1bPaC_rv>EU)RHjjqu^Z&;wT(E-09; zui4I(D>~b4u-zKl4U5LLED!2zr@?k=+qvukLW|m(QHrliBYSa?3Q+)1>_s<6!Q57hD8k-icAf6f a=#CO*3w`emEDjW`Ke+mU$WM1zBmFOa`rH5j From a98818b4c1db3d6708a45489ed005429b30f4aac Mon Sep 17 00:00:00 2001 From: Amin Jalal Date: Mon, 11 Nov 2024 16:37:47 +0300 Subject: [PATCH 08/10] Correction: Removed __pycache from git's tracking and the repo. From 7f847e9a1162767d0df68166f6b372fe5f457615 Mon Sep 17 00:00:00 2001 From: Amin Jalal Date: Mon, 11 Nov 2024 17:15:00 +0300 Subject: [PATCH 09/10] Corrected image path in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 058bd629..454210e9 100644 --- a/README.md +++ b/README.md @@ -114,7 +114,7 @@ Now the software should run locally with no errors, feel free to use the softwar ``` - Then, install the Prettier extension in order to format the code consistently accross all devices. - + - After you have installed Prettier, press `Ctrl + Shift + p` to open the Command Palette and type `Reload window` and select the first option to reload, then prettier will be automatically applied. From 4f428e2a226a455d8a81f04432fca2cb03337b58 Mon Sep 17 00:00:00 2001 From: Amin Jalal Date: Mon, 11 Nov 2024 17:29:57 +0300 Subject: [PATCH 10/10] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 454210e9..26bbc135 100644 --- a/README.md +++ b/README.md @@ -108,7 +108,7 @@ Now the software should run locally with no errors, feel free to use the softwar For Website - You must have Node.js installed in your computer, if it is not, install it from [here](https://nodejs.org/en). -- After you have installed it, open the terminal, and type in this command to install the required dependencies: +- After you have installed it, open the terminal, and run this command to install the required dependencies: ``` npm install ```