diff --git a/README.md b/README.md index ddd5ba9e..d452bc6b 100644 --- a/README.md +++ b/README.md @@ -2,65 +2,82 @@ [![CI](https://github.com/NYULibraries/spatial_data_repository/actions/workflows/ci.yml/badge.svg)](https://github.com/NYULibraries/spatial_data_repository/actions/workflows/ci.yml) -This repository tracks the implementation of GeoBlacklight used to power the front-end of NYU Libraries [Spatial Data Repository](https://geo.nyu.edu) +This repository tracks the implementation of GeoBlacklight used to power the front-end of NYU Libraries' [Spatial Data Repository](https://geo.nyu.edu) -## Links +## Local Development Quickstart -- [Documentation Repo](https://github.com/NYULibraries/sdr-documentation) +### Prerequisites -## Archive +You will need the following installed: -- [Wiki for GBL 0.12.1](https://github.com/NYULibraries/spatial_data_repository/wiki); some info obsolete but contains some supporting doc and application change tracking +- Git +- MySQL +- Ruby 3.2.2 +- NodeJS 20+ +- Java 11+ -## Local Development Quickstart +On macOS you can use [Homebrew](https://brew.sh) and [asdf](https://asdf-vm.com) to install everything you need: + +```bash +$ brew install git +$ brew install mysql +$ brew install asdf +$ echo '. "$HOME/.asdf/asdf.sh"' >> ~/.zshrc +$ source ~/.zshrc +$ asdf plugin add ruby +$ asdf install ruby 3.2.2 +$ asdf global ruby 3.2.2 +$ asdf plugin add java +$ asdf install java openjdk-17 +$ asdf global java openjdk-17 +$ asdf plugin add nodejs +$ asdf install nodejs 22.6.0 +$ asdf global nodejs 22.6.0 +``` -Below are barebones steps for getting started in development for the SDR. +### Running a Development Server -### Using Vagrant +To checkout the project and standup a development server: -#### Prerequisites -- Git -- Vagrant -- VirtualBox +```bash +$ git clone https://github.com/NYULibraries/spatial_data_repository.git +$ cd spatial_data_repository +$ bundle install +$ npm install +$ bundle exec rake db:schema:load +$ bundle exec rake sdr:server +``` + +The development SDR web application will be available at -#### Steps +The development Solr instance will be available at -1. Run the commands below in order specified: - - `git clone https://github.com/NYULibraries/spatial_data_repository.git && cd spatial_data_repository` - - `vagrant up` - - `vagrant ssh` - - `cd /vagrant/sdr` - - `bundle exec rake db:schema:load` - - `bundle exec rake sdr:server` -2. View to test environment Solr admin panel: http://localhost:8983/ -3. View the operating GeoBlacklight Rails app: http://localhost:3000 +#### Setup Gotchas -### On Mac, including M1-3 (no virtualization) +If the `mysql2` gem fails to install and complains about not finding `zstd` you may need to do the following: -#### Prerequisites -- Git (`brew install git`) -- Ruby 3.2.2 (not 3.3.1) + Rails (many options; GBL recommends this [Go Rails install list](https://gorails.com/setup/macos/14-sonoma#ruby), especially for Apple M1, M2; use `asdf` install manager and install Ruby + Nodejs + Rails) -- Mysql (`brew install mysql`) -- Java (`brew install openjdk@11`); if needing help to add Java to PATH, see [this help](https://stackoverflow.com/questions/71059252/mac-the-operation-couldn-t-be-completed-unable-to-locate-a-java-runtime-that-su)) +```bash +$ gem install mysql2 -v '0.5.6' -- --with-opt-dir=$(brew --prefix openssl) --with-ldflags=-L/opt/homebrew/opt/zstd/lib +``` -#### Steps +### Loading NYU Data in Development -1. Run the commands below in order specified: - - `git clone https://github.com/NYULibraries/spatial_data_repository.git && cd- spatial_data_repository` - - `bundle install` - - `bundle exec rake db:schema:load` - - `bundle exec rake sdr:server` -2. View to test environment Solr admin panel: http://localhost:8989/solr -3. View the operating GeoBlacklight Rails app: http://localhost:3000 +First, start up the Rails app if it's not already running: -### Setup Gotchas +```bash +$ bundle exec rake sdr:server +``` -If the `mysql2` gem fails to install and complains about not finding `zstd` you may need to do the following: +Then in another terminal run the following Rake task: ```bash -gem install mysql2 -v '0.5.6' -- --with-opt-dir=$(brew --prefix openssl) --with-ldflags=-L/opt/homebrew/opt/zstd/lib +$ bundle exec rake sdr:load_nyu_data ``` +Once completed, head to and you should have a lot more data to work with. + +The Solr instance does not persist its data between runs so you will need to reload the data if you ever restart the web application. + ### Running the Test Suite To run the full test suite use the following command: @@ -87,20 +104,8 @@ Note: You'll know this step is necessary if an individual spec fails with an err Blacklight::Exceptions::ECONNREFUSED: Connection refused - Unable to connect to Solr instance using # ``` -### Loading NYU Data Locally - -First, start up the Rails app if it's not already running: - -```bash -$ bundle exec rake sdr:server -``` - -This will ensure Solr is up and running. - -Then in another terminal run the following Rake task: - -```bash -$ bundle exec rake sdr:load_nyu_data -``` +## Resources -Once completed, head to and you should have a lot more data to work with. +- [Documentation Repo](https://github.com/NYULibraries/sdr-documentation) +- [Wiki for GBL 0.12.1](https://github.com/NYULibraries/spatial_data_repository/wiki) + - some info obsolete but contains some supporting doc and application change tracking \ No newline at end of file