Coder Social home page Coder Social logo

fluxtream-app's Introduction

Read me First

Fluxtream is based on Spring(-MVC) 3.1, Spring Security 3.1 and JPA for the persistence. We use Jersey (JAX-WS) for exposing the REST API

This is a maven project with 5 sub-modules.

  • core: mainly domain classes, persistence, services and support classes for the other modules (e.g. connectors)
  • core-webapp: the web API (with Rest-WS annotations), base oauth classes and helper classes
  • connectors: lots of them - but for all but the 10 connectors that are actually enabled, there is little more than basic authentication (sometimes even nothing)
  • fluxtream-webapp: the web application you can see on fluxtream.com - in maintenance mode
  • fluxtream-web: a new web application that we are starting to work on, based on twitter bootstrap

Build requirements

  • you will need maven 3.x.x
  • for interactive development, we use Eclipse Indigo with EE support (/WTP)

Build instructions

  • start by running the install script in fluxtream-app's maven directory, which will install missing dependencies in your local maven repository
  • run mvn install in fluxtream-app

Tips

  • We use JRebel during development, which works perfectly well for this application. Since we are open source, you should be able to use jrebel "social" thus without having to pay a license

Running requirements

  • Tomcat 7 or Jetty 7
  • Mysql

Running the application (fluxtream-webapp)

  • Replace xxx in property files under src/main/resources/samples with appropriate values (you need only provide oauth keys for the connectors you want to use, obviously); put files under src/main/resources/samples back under src/main/resources
  • You need to set a global environment variable at the OS level of your system, named TARGET_ENV; use that value for the name of your environment-specific properties; i.e. if TARGET_ENV is set to 'local', create an environment-specific property file called local.properties
  • The database is going to be generated for you automatically; all you need to do is set the database name, username and password in your environment-specific property file (e.g. local.properties)
  • We are using MaxMind's GeoLiteCity.dat database to map IP addresses to an approximate geolocation; you need to specify that file's location in your environment-specific property file, too (e.g. local.properties)
  • Inside TOMCAT_ROOT / JETTY_ROOT there is a webapps/ directory; either drop the fluxtream-webapp/target/ROOT.war there or, or create a symbolic version there pointing to fluxtream-webapp/target/ROOT
  • Run tomcat: under TOMCAT_ROOT/bin, do ./startup.sh or ./catalina.sh start
  • Do the following only once: when the welcome (/login) screen has appeared it means the application is fully initialized and so should the mysql database; it is now time to import the cities1000.sql at the root of the fluxtream-app project. A simple way to do this is using the command-line: mysql -u username -ppassword flx <cities1000.sql
  • During development, and if you want to use JRebel (you should), create a symbolic link to the target/ROOT directory of the webapp module in Tomcat's or Jetty's webapps/ directory
  • Set some Java options for Tomcat to run happily (bin/catalina.sh) export JAVA_OPTS="-XX:MaxPermSize=256m -Xms256m -Xmx2048m -Djavax.servlet.request.encoding=UTF-8 -Dfile.encoding=UTF-8 $JAVA_OPTS"

Copyright and license

Copyright 2011-2012 The BodyTrack Team @ CMU CREATE Lab & Candide Kemmler

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

fluxtream-app's People

Contributors

jloutsenhizer avatar ckemmler avatar chrisbartley avatar mezuzza avatar thomperi avatar arwright avatar

Stargazers

 avatar

Watchers

James Cloos 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.