Skip to content
This repository has been archived by the owner on Sep 10, 2020. It is now read-only.

GSA/apps-gsa-gov

Repository files navigation

Apps.GSA.Gov

This is the public repo for the apps.gsa.gov proof of concept demo. The goal is to create an active marketplace that helps GSA employees evaluate and compare approved software products. Information on product's description and approval status are listed. Additionally, resources for staff to request products and how to get started requesting a product can be found.

This repo is open source, maintained by the Digital Service Team in the office of the CTO. If you have any questions regarding this repo or the content listed, please contact cto@gsa.gov.

How to request a product

TBD

How to run this locally

  1. Install Ruby on your system. This site requires version 2.2.4 or greater. You can see if a compatible version is already installed by running ruby -v in a terminal window.

    You may wish to install a version manager such as rbenv to manage and install different Ruby versions.

  2. Install Node.js on your system. This site requires version 4.2 or greater or version 5 or greater. You can see if a compatible version is already installed by running node -v in a terminal window.

    You may wish to install a version manager such as nvm to manage and install different Node.js versions.

    Why Node.js? It's used to build the lunr.js search index and search user interface components supplied by the jekyll_pages_api_search gem. We also use browserify and uglifyify to compile the custom assets/js/products.js code into js/products-bundle.js, as specified in the jekyll_pages_api_search.browserify property of _config.yml.

  3. Create a clone of this repository on your computer and change into its directory:

    $ git clone https://github.com/GSA/apps-gsa-gov.git
    $ cd apps-gsa-gov
  4. Run ./go init to install the Ruby gems specified in the Gemfile and the npm modules specified in package.json.

    The ./go script is Bundler-aware, so you do not need to run bundle install first.

    Windows users: You may need to run the script as ruby ./go init instead, and run other ./go script commands in a similar fashion.

  5. Run ./go build to build the site, and ./go serve to build and serve the site locally at http://127.0.0.1:4000.

    These commands run jekyll build and jekyll serve, respectively. You can pass command line arguments as you would to those bare commands.

    Why not just run bundle exec jekyll serve? ./go init and ./go serve perform the same environment setup as bundle exec, but the ./go script also sets the NODE_PATH environment variable to add the node_modules directory, so that the locally-installed browserify and uglifyify modules are discoverable.

    This is because jekyll_pages_api_search contains components that require() these modules, but these components reside in a directory this is neither a child nor a parent of the site. Consequently, the default Node.js module resolution algorithm will not discover the modules on its own.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published