Go to file
Thomas FORGIONE 619d16c66b A lot of cleaning
Avoid main.js of 500 lines, and factor what can be factored between
interactive, replay and tutorial
2015-07-08 18:28:45 +02:00
403 Fixed reload that doesn't work 😢 2015-06-30 09:42:24 +02:00
controllers A lot of cleaning 2015-07-08 18:28:45 +02:00
geo Cleaned stuff, improved progress bar 2015-07-07 14:40:32 +02:00
js A lot of cleaning 2015-07-08 18:28:45 +02:00
lib Attempt of ip for socket 2015-07-07 16:25:58 +02:00
posts Added log module 2015-07-03 13:27:05 +02:00
sql Changed coeffs and did stuff 2015-06-22 10:09:52 +02:00
static Cleaned stuff, improved progress bar 2015-07-07 14:40:32 +02:00
utils Cleaning, and build tools 2015-06-30 15:13:49 +02:00
views A hell of a lot cleaning 2015-07-01 15:03:11 +02:00
.gitignore Added sql init 2015-05-18 09:52:04 +02:00
README.md Corrected readme 2015-07-01 08:55:49 +02:00
npm-shrinkwrap.json Struggled to correct a bug with my conf... this should work 2015-06-26 15:09:28 +02:00
package.json Struggled to correct a bug with my conf... this should work 2015-06-26 15:09:28 +02:00
server.js Changed logger 2015-07-07 09:27:03 +02:00
socket.js Added log module 2015-07-03 13:27:05 +02:00
urls.js Added link to sponza 2015-06-19 16:04:03 +02:00

README.md

3D Interface

A prototype for a user-friendly 3D interface allowing to browse 3D scenes / models written with Node.js.

It is hosted by OpenShift at 3dinterface.no-ip.org.

Database setup

First you need to configure the database. You can create a postgres database where you want, and you can initialize it by running the script sql/backup.pgsql.

Nodejs configuration

Then, you have to set up nodejs to access to your database. Basically, you have to create a file private.js at the root of the repository looking like this :

module.exports.url = ... // the url to connect to your database

module.exports.secret = ... // A secret string used to hash stuff

Compiling the static js files

First, cd to utils/. Here you'll find a script build_all.sh that, as its name suggests, builds all. By default, it minifies the code, but you can pass the option --dev to avoid minifying (which is a quite long operation).

If it worked, you should see lots of files in *.min.js in your static/js directory, and a geo.min.js in your lib (at the root of the repository).

Running the server

As usual with NodeJS, it's quite easy to test. Just ensure you have node installed on your machine, clone this repo somewhere, and then, in the repo do

npm install
node server.js

You should be able to go to localhost:4000 and see the result.

Please note that some static files (some meshes / textures) are not on this repository (especially the heavy ones).

Developping

If you want to dev on this project, the utils/demon.sh may help you : it is based on nodemon (that basically restarts the server everytime there is a change in the code) and inotify (that basically recompiles everything when there is a modification). To use it, just cd to utils and run demon.sh (note that it doesn't minify the code since this operation is heavy and too long to redo everytime there is a change).