GithubHelp home page GithubHelp logo

isabella232 / crowdsource Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wyg3958/crowdsource

0.0 0.0 0.0 15.19 MB

a collaborative crowd sourcing and funding tool using virtual currency

License: GNU General Public License v2.0

Java 56.14% Gherkin 2.51% JavaScript 24.61% HTML 7.25% CSS 9.28% Shell 0.22%

crowdsource's Introduction

crowdsource

a collaborative crowd sourcing and funding tool using virtual currency

Current build status: Build Status

Example installation: https://crowd-source.herokuapp.com You can register with anything. To "receive" activation emails and such please go to: https://crowd-source.herokuapp.com/mails. A regular user: [email protected]:einEselGehtZumBaecker! An admin: [email protected]:einAdminGehtZumBaecker!

Please feel free to mess around with this installation :)

Documentation

Modules

crowdsource-frontend The frontend-module contains the angularjs client app along with js-tests for it. It will be bundled in a jar file and then integrated into the core-app.

crowdsource-core The core-module contains the backend for crowdsource. It integrates the resources-jar generated by frontend-module.

crowdsource-example Example crowdsource-application. You can use this as a basis for your own build.

crowdsource-integrationtests Some end-to-end-, integration-, acceptance-, blackbox-, you-name-it-tests.

Example developer run config

java -jar crowdsource-example.jar

Example developer connect with stage Mongo

VM Options: -Dspring.profiles.active=stage -Dspring.data.mongodb.uri=mongodb://:@crowdstage-shard-00-00-je9bv.mongodb.net:27017,crowdstage-shard-00-01-je9bv.mongodb.net:27017,crowdstage-shard-00-02-je9bv.mongodb.net:27017/crowdsource_as?ssl=true&replicaSet=CrowdStage-shard-0&authSource=admin&retryWrites=true

Token signing

CrowdSource uses JWT with a token signing key. These (tokensigningkey/tokensigningkey.pub) must be present under /src/main/resources. You can generate a pair of your own using ssh-keygen.

Persistence

CrowdSource uses MongoDB. You should provide the DB hosts comma-separated via property de.asideas.crowdsource.db.hosts. Eg java -jar ... -Dde.asideas.crowdsource.db.hosts=hosta,hostb,hostc For local development you can use the embed-mongo-maven-plugin that is used in the integrationstests as well. Simply run mvn com.github.joelittlejohn.embedmongo:embedmongo-maven-plugin:0.1.12:start -Dembedmongo.wait -Dmongodb.test.port=27017 in the crowdsource-integrationtests module.

For configuration your own application:

  • Create a appication.properties or just configure spring data properties spring.data.mongodb.*, e.g:

spring.data.mongodb.uri=mongodb://127.0.0.1:27017/crowdsource

You can use a comma seperated list for multiple db-hosts, eg.

de.asideas.crowdsource.db.hosts=127.0.0.1,127.0.0.2

Mailserver

CrowdSource sends Mails for some occassions. In the example-app a mailserver is started and the mails are exposed via a rest endpoint under /mails. This is handy for local development as well as integration testing.

For the configuration you need the following entries in your application.properties:

de.asideas.crowdsource.mail.host=smtp.xyzn.org de.asideas.crowdsource.mail.port=587 de.asideas.crowdsource.mail.username=[email protected] de.asideas.crowdsource.mail.password= de.asideas.crowdsource.mail.starttls=true

The default-configuration uses localhost:1025 with no username and no password. StartTls is false per default.

Mail-Templates: There are currently five different templates used for mailing. CrowdSource comes with default templates, but you can just create your own templates.

  • activation.template This template is the mail sent after you registered your account.
  • new-project.template This template is send to the administrator after someone created a new project.
  • password-forgotten.template A mail with the new password link, sent to the user.
  • project-published.template This mail is sent to the user, after his project was published/accepted.
  • project-rejected.template This mail is sent to the user, after his project was rejected.

Frontend

During maven build, frontend-maven-plugin will take care of downloading all tools and dependencies required for the frontend build. To execute manually you will need node/npm. See scripts in package.json for npm. You will also need to run 'npm install -g karma-cli'.

To be able to develop quickly, run those 2 commands in two separate shells

npm run watch
npm run test-watch

If you want to skip uglifying of your javascript (app AND libs), run

npm run watch-dev

Issue Tracking / Feedback Form (2018: deprecated and disabled)

The Crowdsource application supports tracking, utilizing the JIRA issue collector. In order to activate tracking set the following properties in your application.properties:

  • de.asideas.crowdsource.jira.issuecollector.url=//your-jic.url

See link above for details on how to get your issue collector setup properly.

AT-Browsers: PHANTOMJS/CHROME/FIREFOX

There were some issues with phantomjs. Feel free to give it another try. Maybe its fixed? Specifiy path to chromedriver/chrome in test.properties to use chrome (environment variable also possible). Firefox is the fallback. Do nothing and use the worst browser in the world by default.

Maven

<dependencies>
    <dependency>
        <groupId>de.asideas.crowdsource</groupId>
        <artifactId>crowdsource-core</artifactId>
        <version>1.2</version>
    </dependency>
</dependencies>

crowdsource's People

Contributors

tmadanymamlouk avatar timbaer avatar gaffa avatar wthomas84 avatar martin1001 avatar ulich avatar waschnick avatar larsreith avatar jaiwo99 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.