Giter Site home page Giter Site logo

plasticviking / devex Goto Github PK

View Code? Open in Web Editor NEW

This project forked from exchangebc/devex

0.0 2.0 0.0 88.47 MB

Mean app for bc developers exchange

Home Page: https://bcdevexchange.org/

License: Apache License 2.0

JavaScript 48.39% Shell 0.73% HTML 41.30% Perl 0.06% Groovy 2.48% CSS 6.64% Batchfile 0.39%

devex's Introduction

License

BCDevExchange Application

The BCDevExchange is a platform that provides new ways for British Columbia's public sector to connect with developers and other IT professionals.

The latest version is a mean.js application running in OpenShift using Docker.


Table of Contents


Contribute

We are open to pull requests. Please read our contributing guidelines.

Development

Prerequisites: Docker

To get started, run the following command to set things up the first time:

$ setup.sh

This will start a Docker container running mongo and build a new image for the application code. If you already have an instance of mongo running then you will likely get errors. Make sure to shutdown your local mongo instance.

Once setup has finished you can run the codebase with:

$ dev.sh

This will run the application image and link it to your running database container. It will not start the application, however, but put you in the command line ready to do so. By default the application starts in development mode and if this is the first time running you should seed the dtabase users, so start the first time with:

$ MONGO_SEED=true npm start

Once the seeding is done you need not do it again unless you lose your mongo container and data somehow, so each other time runing the application you can simply run

$ npm start

You should now be able to run the application by entering "localhost:3030" into your browser. If you are not able to view the application properly, then you need to add the Bower node package. Do this by returning to the command line and running

$ bower install --allow-root

Once Bower has been installed, run

$ npm run quiet

Notes

The root files are NOT mounted in the container in the same way as the rest of the code. Therefore, if you are adding a new module through bower or npm you will need to update the local package.json or other files appropriately.

The node_modules directory does NOT exist in the repo and should not be added in case you accidentally run npm install locally

Production Mode: In Production:

MONGO_SEED=true npm run start:prod
npm run start:prod

Tests:

$ npm test

This will run both the server-side tests (located in the app/tests/ directory) and the client-side tests (located in the public/modules/*/tests/).

To execute only the server tests, run the test:server task:

$ npm run test:server

To execute only the server tests and run again only changed tests, run the test:server:watch task:

$ npm run test:server:watch

And to run only the client tests, run the test:client task:

$ npm run test:client

Running with TLS (SSL) Application will start by default with secure configuration (SSL mode) turned on and listen on port 8443. To run your application in a secure manner you'll need to use OpenSSL and generate a set of self-signed certificates. Unix-based users can use the following command:

$ npm run generate-ssl-certs

After you've generated the key and certificate, place them in the config/sslcerts folder.

Finally, execute prod task npm run start:prod

  • enable/disable SSL mode in production environment change the secure option in config/env/production.js

Copyright and License

Code and documentation copyright 2016-2017 the BC Developers' Exchange. Code released under the Apache License, Version 2.0.

devex's People

Contributors

agehlers avatar andrewwhitehead avatar ccoldwell avatar cgat avatar dewolfe001 avatar georgewalker avatar mark-a-wilson avatar melavo avatar plasticviking avatar rstens avatar scchapma avatar sheaphillips avatar stevechapmanbcdx avatar sutherlanda avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.