Skip to content

bar2011/Mathology

Repository files navigation


Mathology

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Contributing
  5. License
  6. Contact

About The Project

Mathology is an open source website, that works similar to brilliant.
You can use it to:

  • learn a new subject using a course somebody already created
  • create your own courses about interesting subjects and show them to other people
  • you can also use mathematical functions in your courses using MathJax (a framework for creating mathematical functions from text similar to Latex)

I expect a lot of bugs in the software, as this is a project I've been working on for just a couple of months, in order to explore server-side programming, and learn how to use a database.

(back to top)

Built With

  • MySQL
  • NodeJS
  • Figma
  • Express
  • JWT
  • JQuery
  • Latex
  • StackOverflow

(back to top)

Getting Started

Prerequisites

  • MySQL
  • Node JS
  • npm (node package manager)
    npm install npm@latest -g

Installation

  1. Clone the repo
    git clone https://github.com/bar2011/Mathology
  2. Install NPM packages
    npm install
  3. Create a MySQL connection on localhost and run the ./database/create-database.sql file.
  4. Create a user with permissions to SELECT, INSERT, UPDATE and DELETE. Save the username and password.
  5. Enter your URL, JWT SECRET, MySQL USER and PASSWORD in .env
     URL="WEBSITE URL (you can leave this as 0.0.0.0 to start on localhost)"
     USER="YOUR MYSQL USERNAME"
     PASSWORD="YOUR MYSQL USER PASSWORD"
     JWT_SECRET="YOUR JSON WEB TOKEN SECRET TEXT"
    Optimally the JWT_SECRET needs to be a lot of random characters.

(back to top)

Usage

You can start the application using npm run start.
The command will do the following things:

  1. Start the website and server on URL specified on .env and on port 3000 (for example, if the URL was localhost, the website will open on http://localhost:3000)
  2. Try to connect to the MySQL database created on localhost

After you start the website and connect to it, you need to sign up. After you finish with that you can start creating your own courses.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Bar Einav - bareinav46@gmail.com

Project Link: https://github.com/bar2011/Mathology

(back to top)