Giter Site home page Giter Site logo

fina's Introduction

| Home | ภาษาไทย |

FINA

Fabulous and Interactive Numerical Analysis Calculator

Tech stack

In FINA, we use

  • Vuejs to manage our frontend application.
  • Buefy to manage our frontend application's stylings.
  • mathjs to manipulate and calculate expression strings.
  • d3 to create beautiful graph representations.
  • ESLint to keep our TypeScript stylings constant throughout the project.
  • Stylelint to keep our SCSS stylings constant throughout the project.
  • Vue Katex to render mathmatical expressions.
  • Fastify to manage our backend API.

Our main language of development is TypeScript

Project setup

This project requires minimum of

  • Nodejs v12,
  • npm v7

You can download and install Nodejs from its website here.

You can install npm v7 by running the following command.

npm install -g [email protected]

You also need @vue/cli

npm install -g @vue/cli

Install project's dependencies

npm install --legacy-peer-deps

from the root of the project

Getting started

Run these commands to start developing from the root directory.

Terminal 1 Terminal 2 Terminal 3
npm run serve:common npm run serve:functions npm run serve

The web application will pop up at http://localhost:8080 and the API will pop up at http://localhost:3000

Long term goals

Grapher component

  • Provides support for graphing incontinuous graph like $ f(x) = \frac{1}{x} $
  • Provides better graph scaling. Currently it's not very consistent when you are plotting high frequency graph.

Frontend

  • Adds second semester's topics.
    • Gauss Seidel.
    • Jacobi.
    • Newton's Divided Difference
    • Newton's Forward Difference
    • Newton's Backward Difference
    • Lagrange Polynomial
    • Regression Equation
    • Trapezoidal Rule
    • Simpson's 1/3 Rule
    • Simpson's 3/8 Rule
    • Romberg
    • Euler
  • Provides consistent error message that have meanings.
  • Implements refresh-proven form input, or store user inputs in cookie.
  • Implements membership system.
  • Provides i18n support for multiple languages website using vue-i18n
  • Improves page layout and explanations.
  • Deploy the website on Firebase
  • Adds contributors page.
  • Combines answer pages into one.

Backend

  • Extract redundant preValidation hook into separate file or global hooks.
  • Refactor some of controversial preValidation hooks.
  • Adds at least Basic auth for calling the API.
  • Host the API in Google Cloud Run.

Deployments

install Firebase CLI

npm i -g firebase-tools
firebase login

Lints and fixes files

Run

npm run lint

from the root of the project. it will trigger all the npm run lint command in all sub-directories, reporting all the errors it found to you.

Run

npm run fix

from the root of the project to lint and attempt to fix some errors in all the project.

fina's People

Contributors

grindarius avatar

Watchers

 avatar

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.