/Zenika-Resume

Markdown editor for resume.

Primary LanguageJavaScriptMIT LicenseMIT

Zenika Resume

A Markdown resume editor based on Monod (see the original Monod readme below).

Running

For running locally or to build the production artifacts, see Installation in the Monod readme. Keep it mind that running locally requires Node.js 5.7 (no more, no less).

Docker

Build the provided Dockerfile, then run with the port 3000 mapped, and the following environment variables.

  • GOOGLE_CALLBACK: callback for the Google authentication, set http://localhost:3000/login/google/callback
  • GOOGLE_ID: client ID for the Google authentication, find the value from the production environment (see below)
  • GOOGLE_SECRET: client secret for the Google authentication, find the value from the production environment (see below)
  • DATABASE_URL: a connection string to a PostgreSQL instance; this is optional, withtout the app falls back to memory store
  • USER_AUTH_API_USERNAME: basic auth username for web api
  • USER_AUTH_API_PASSWORD: basic auth password for web api

Production environment

The app is hosted on Heroku. The authentication is provided by Google through the GCP project zenika-resume. Contact dsi@zenika.com to get access to either of those.

Monod

Circle CI

Monod is a (relatively) secure and offline-first Markdown editor we built at TailorDev in order to learn React.js (and a bunch of JavaScript tools/libraries). We mainly dedicated two Le lab sessions to this project:

Usage

Either you use our public instance at: https://monod.lelab.tailordev.fr/, or you host Monod at home, on your server, or on Heroku.

Deploy to Heroku

Installation

Production

$ git clone https://github.com/TailorDev/monod.git
$ npm install # will run `npm run build`
$ npm prune --production

We use this Dockerfile to run Monod in production (which runs npm run start from Monod root directory).

Development

$ git clone https://github.com/TailorDev/monod.git
$ npm install
$ npm run dev

The last command runs the development server at http://localhost:8080, and use Hot Module Replacement. You can override the default host and port through env (HOST, PORT).

You should also start the server by running:

$ MONOD_DATA_DIR=/path/to/data npm run start

MONOD_DATA_DIR is an environment variable that configures where the server is supposed to read/write Monod's data. It defaults to ./data/ (so be sure to create this directory if you run npm run start).

You are all set!

Other Commands

npm run build

Builds the client-side application in build/ (production ready)

npm run stats

Webpack build + generate a JSON file with metrics. We blogged on why it can be useful.

npm run lint

Runs ESLint.

npm run lint:fix

Fix all ESLint problems.

Requirements

We use node 5.8+ and npm 3.7+.

Contributing

Please, see CONTRIBUTING file.

Running the Tests

$ npm run test

You can also "watch" them:

$ npm run test:watch

Code coverage is available by running:

$ npm run cov

Contributor Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. See CODE_OF_CONDUCT file.

License

Monod is released under the MIT License. See the bundled LICENSE file for details.