Code Monkey home page Code Monkey logo

freelance-salary-calculator's Introduction

Freelance Salary Calculator

Based on the labour law in Bulgaria and the National Revenue Agency regulations.

Tech stack

This is a web application built with NextJS, MongoDB, React, Material UI, TypeScript, NodeJS.

Running locally

First clone this repostory or download it from Github.

Then, when extracted, install the dependencies:

yarn

Then, configure the local environment by copying the .env.local.example file to .env.local file.

In the .env.local file add the following variables:

# API key from https://currencyapi.com/
CURRENCY_API_ENPOINT_TOKEN='<YOUR_TOKEN_FROM_CURRECNY_API>'

# Mongo DB URI
MONGODB_URI=mongodb+srv://<USERNAME>:<PASSWORD>@cluster0.xc0hboq.mongodb.net/<DBNAME>?retryWrites=true&w=majority

Then, to run the local development server, run

yarn dev

To lint the code using ESLint, run

yarn lint

To prettify the codebase using Prettier, run

yarn prettier

To build the code for production deployment, run

yarn build

Deploying to Vercel

Simply link your cloned Github repository with your Vercel account. When this is done, Vercel will automatically pick up the configuration and scripts which it needs. If you're linking a local repository, you can use the Vercel CLI.

Don't forget to set up the environmental variables from above in your Vercel project's dashboard.

License

MIT

freelance-salary-calculator's People

Contributors

dependabot[bot] avatar imgbot[bot] avatar renovate[bot] avatar scriptex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

aseemkishoree

freelance-salary-calculator's Issues

CVE-2023-2251 (High) detected in yaml-1.10.2.tgz

CVE-2023-2251 - High Severity Vulnerability

Vulnerable Library - yaml-1.10.2.tgz

JavaScript parser and stringifier for YAML

Library home page: https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/yaml/package.json

Dependency Hierarchy:

  • styled-11.10.6.tgz (Root Library)
    • babel-plugin-11.10.6.tgz
      • babel-plugin-macros-3.1.0.tgz
        • cosmiconfig-7.1.0.tgz
          • yaml-1.10.2.tgz (Vulnerable Library)

Found in HEAD commit: 888a26d9e010d374a773819e90cc64e3046b63da

Found in base branch: main

Vulnerability Details

Uncaught Exception in GitHub repository eemeli/yaml prior to 2.2.2.

Publish Date: 2023-04-24

URL: CVE-2023-2251

CVSS 3 Score Details (7.5)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: None
    • Integrity Impact: None
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: GHSA-f9xv-q969-pqx4

Release Date: 2023-04-24

Fix Resolution: yaml - 2.2.2


Step up your Open Source Security Game with Mend here

CVE-2022-46175 (High) detected in json5-1.0.1.tgz, json5-2.2.1.tgz

CVE-2022-46175 - High Severity Vulnerability

Vulnerable Libraries - json5-1.0.1.tgz, json5-2.2.1.tgz

json5-1.0.1.tgz

JSON for humans.

Library home page: https://registry.npmjs.org/json5/-/json5-1.0.1.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/json5/package.json

Dependency Hierarchy:

  • eslint-config-next-13.1.1.tgz (Root Library)
    • eslint-plugin-import-2.26.0.tgz
      • tsconfig-paths-3.14.1.tgz
        • json5-1.0.1.tgz (Vulnerable Library)
json5-2.2.1.tgz

JSON for humans.

Library home page: https://registry.npmjs.org/json5/-/json5-2.2.1.tgz

Path to dependency file: /package.json

Path to vulnerable library: /node_modules/json5/package.json

Dependency Hierarchy:

  • core-7.20.7.tgz (Root Library)
    • json5-2.2.1.tgz (Vulnerable Library)

Found in base branch: main

Vulnerability Details

JSON5 is an extension to the popular JSON file format that aims to be easier to write and maintain by hand (e.g. for config files). The parse method of the JSON5 library before and including version 2.2.1 does not restrict parsing of keys named __proto__, allowing specially crafted strings to pollute the prototype of the resulting object. This vulnerability pollutes the prototype of the object returned by JSON5.parse and not the global Object prototype, which is the commonly understood definition of Prototype Pollution. However, polluting the prototype of a single object can have significant security impact for an application if the object is later used in trusted operations. This vulnerability could allow an attacker to set arbitrary and unexpected keys on the object returned from JSON5.parse. The actual impact will depend on how applications utilize the returned object and how they filter unwanted keys, but could include denial of service, cross-site scripting, elevation of privilege, and in extreme cases, remote code execution. JSON5.parse should restrict parsing of __proto__ keys when parsing JSON strings to objects. As a point of reference, the JSON.parse method included in JavaScript ignores __proto__ keys. Simply changing JSON5.parse to JSON.parse in the examples above mitigates this vulnerability. This vulnerability is patched in json5 version 2.2.2 and later.

Publish Date: 2022-12-24

URL: CVE-2022-46175

CVSS 3 Score Details (7.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: High
    • Privileges Required: Low
    • User Interaction: None
    • Scope: Unchanged
  • Impact Metrics:
    • Confidentiality Impact: High
    • Integrity Impact: Low
    • Availability Impact: High

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://www.cve.org/CVERecord?id=CVE-2022-46175

Release Date: 2022-12-24

Fix Resolution: json5 - 2.2.2


Step up your Open Source Security Game with Mend here

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.