Table of Contents
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.
- Clone the repo
git clone https://github.com/bar2011/Mathology
- Install NPM packages
npm install
- Create a MySQL connection on localhost and run the
./database/create-database.sql
file. - Create a user with permissions to SELECT, INSERT, UPDATE and DELETE. Save the username and password.
- Enter your URL, JWT SECRET, MySQL USER and PASSWORD in
.env
Optimally the JWT_SECRET needs to be a lot of random characters.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"
You can start the application using npm run start
.
The command will do the following things:
- 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)
- 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.
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE.txt
for more information.
Bar Einav - bareinav46@gmail.com
Project Link: https://github.com/bar2011/Mathology