ChristopherChudzicki / math3d-react

A user-friendly 3d graphing calculator for the web. Create, share, and animate 3d mathematical scenes.
https://www.math3d.org
Mozilla Public License 2.0
251 stars 35 forks source link

Math3d-React Build Status

Live at math3d.org

Package Anatomy

This repository has three package.json files:

To Install for Local Development:

  1. Install Postgresql: If it is not already installed, you'll need to install postgres as our database. On a Mac, we recommend installing postgres with Homebrew:

    > brew update
    > brew install postgresql
  2. Bootstrapping the database: Create a database cluster and start Postgres

    # creates a new database cluster
    > initdb /usr/local/var/postgres
    # starts postgres
    > pg_ctl -D /usr/local/var/postgres start
    # create user math3d_user and database math3d
    > psql -d postgres -f server/migrations/create_database.sql
    # create schema
    > psql -U math3d_user -d math3d -f server/migrations/database_setup.sql
  3. Set Database Connection: Create a .env file in the server/ directory to set DATABASE_URL database connection environment variable. For local development, just copy the template:

    > cp server/dotenv_template server/.env
  4. Install Dependencies: Clone the git repo and cd to package root, then run:

    > npm install

    which installs both client and server dependencies.

  5. Start Server & Client: In a new terminal window, start the server:

    > npm run start:dev:server

    and, in a third terminal window, start the client app:

    > npm run start:dev:client

The math3d-react app is now being served on http://localhost:3000/.