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
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 npm@7.17.0
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
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
- 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.
- 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.
- 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.
install Firebase CLI
npm i -g firebase-tools
firebase login
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.