Git Product home page Git Product logo

calcium's Introduction

Calcium Calculator

Author LICENSE Stars Github Workflow Status Netlify Status

A web-based calculator app

Banner

Description

Calcium is a web-based calculator written in React + Typescript.

If you encounter any problems or have any ideas, feel free to open an issue to let me know.

Here is the Wiki

Here is the Manual

Why is its name Calcium?

Calculator -> calc -> Ca (Chemical Element) -> Calcium

What features does it include?

  • Basic calculating
  • Sigma & Integral & Product calculating
  • Variable creating and storing
  • Function Images Graphing
  • Base conversion
  • Unit conversion
  • Relationship calculating (Thanks to relationship.js)
  • Currency exchanging
  • History recording

Deploy & Use

It is recommended to access Calcium via calcium.js.org. However, if you prefer to deploy it locally, please proceed to read the following instructions.

Docker

First, you need to make sure you have had Docker installed on your server (or computer).

  1. Pull docker repository
docker pull noahhrreion/calcium:main
  1. Create container
docker run -p 3000:3000 noahhrreion/calcium:main
  1. Enter http://localhost:3000, and you can start using Calcium.

Launch directly

First, you need to make sure you have had Git & Node.js installed on your server (or computer).

  1. Clone Git repo
git clone https://github.com/nocpiun/calcium.git
  1. Install dependencies
npm i

If it throws error at this step, try:

npm i --force
  1. Launch Calcium
npm run start
  1. Enter http://localhost:3000, and you can start using Calcium.

  2. If you want to make contribution to this repo, just simply begin by modifying the code and starting debugging!

Contributing

Contributions to Calcium are welcomed. You can fork this project and start your contributing. If you don't know how to do, please follow the instruction Creating a Pull Request from a Fork. And I'll review the Pull Requests in my spare time.

Also, you're supposed to run tests before submitting a commit to your PR.

npm run test

Scripts

An explanation of the package.json scripts.

  • start Launch the app
  • build Create a production build
  • test Run tests

LICENSE

MIT

calcium's People

Contributors

nriothrreion avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

calcium's Issues

显示的数值

Description很好的一个计算器。太棒了。能够多行显示数值 不然输入的多了就挡住了之前的数值

IMG_3373

`2sin(x)cos(x)` being equal to `sin(x)`

Description

2sin(x)cos(x) equals sin(x), which is expected to be equal to sin(2x).

Reprocution

Input 2sin(x)cos(x) compared with sin(x).

Screenshot

2sin(x)cos(x), which is the formula inputted

Snipaste_2023-08-09_15-58-24

sin(x), which is the result formed to

Snipaste_2023-08-09_15-59-04

sin(2x), which is expected

Snipaste_2023-08-09_15-58-48

Problem with the function image about coefficients

Description

In the function image, the rendering functions with coefficients has problems.

Reproduction

Input functions with some coefficients.

Expected behavior

It is expected that in the function image, the rendering of functions with coefficients is correct.

Screenshots

[Example 1]

image
After enclosing the coefficients in parentheses, the image renders fine:
image

[Example 2]

image
After enclosing the coefficients in parentheses, the image renders fine:
image

[Example 3]

image
After enclosing the coefficients in parentheses, the image renders fine:
image

[Example 4]

image
After removing the brackets where the coefficients are, the image renders fine:
image

[Example 5]

image
After removing the brackets where the coefficients are, the image renders fine:
image

In the general function, the calculation result of the trigonometric function with a coefficient before shows a precision error

Description

In the general function, the calculation result of the trigonometric function with a coefficient before shows a precision error.

Reproduction

Input the trigonometric function with a coefficient before.

Expected behavior

It is expected that in the general function, the calculation result of the trigonometric function with a coefficient before is correct.

Screenshots

[Example 1]

image
After enclosing the trigonometric functions in parentheses, the image renders fine:
image

[Example 2]

image
After enclosing the trigonometric functions in parentheses, the image renders fine:
image

Incomplete image of polar functions

Description

The image of polar functions is not complete, which forces users to drag the image to get more points calculated on the canvas.

Reproduction

Input a polar function in graphing mode.

Expected behavior

Rendering a complete image.

Screenshots

image
image

The calculation result of the factorial of a number less than one is incorrect

Description

The calculation result of the factorial of a number less than one (except 0) is incorrect.

Reproduction

Input a factorial function involving numbers less than one (except 0).

Expected behavior

It is expected that the calculation result of the factorial of a number less than one is correct.

Screenshots

image

Function wrapped with brackets outside cannot be graphed

Description

A function wrapped with brackets outside, such as (x) and (x^2), cannot be graphed in graphing mode.

Reproduction

Input a function like (x) or (x^2) in graphing mode.

Expected behavior

The function inputted is expected to be graphed.

Screenshots

image

Integration that have negative limits cannot be calculated correctly

Description

Integration that have negative limits cannot be calculated correctly. And the specified number of limits will be transformed into the corresponding absolute value.

Reproduction

Input and calculate integrals such as \int_{-10}^{-1} ....

Expected behavior

Calculate correctly.

Screenshots

Unexpected calculation of `29.4^2`

Description

$29.4^2 \neq 864.36$

Reproduction

Input and calculate $29.4^2$

Output: $864.3599999999999$

Expected behavior

Should output $864.36$

Screenshots

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.