WORK IN PROGRESS
Mapping the locations of gender neutral bathrooms and lactation rooms on Harvard's Campus.
This app is built in javascript, using node.js for the server and React for the client. The backing database is MongoDB, with Mongoose for schema modeling and validation.
All application code resides in src/
, separated into client/
and server/
. The top level directory includes configuration files for development tooling and Docker support.
Each subdirectory includes all of the necessary configuration for its side of the app, allowing for the Client and Server code to be built in Docker from the same base image.
Configuration options are set using dotenv
, with defaults provided in .env-example
. Before running, you'll need to copy env-example
to .env
and make any changes necessary. At a minimum, you should set username and passwords for mongodb.
Everything runs in Docker containers, with the build defined in docker-compose.yml
. For local development you'll need to have Docker installed and running, then invoke:
$ docker-compose build
$ docker-compose up
All log files will be saved to the logs/
directory.
Note that this repository does not include any of the location data, so functionality will be limited.
Server and Client tests are written in Jest and can be run with npm test
. Each subdirectory contains its own jest config file, which is in turn invoked by the master jest config file in ./config/jest.conig.js
. To run, call npm test
.
Documentation is generated with JSDoc and deployed to github pages automatically via Travis.
I am developing this application for my capstone project at the Harvard Extension School, and as such I cannot accept code contributions at this time.