Team Name: Callback Hell Team Members:
- Oleg Matvejev
- Eric Nummela
- Tian Lin Tan
- Install Git Bash (https://git-scm.com/download/win)
- IMPORTANT: Run Git Bash in Administrative mode!
git clone git@csil-git1.cs.surrey.sfu.ca:callback-hell/eventium.git
git checkout checkpoint
vagrant up
git clone git@csil-git1.cs.surrey.sfu.ca:callback-hell/eventium.git
git checkout checkpoint
vagrant up
Access the website at: http://locahost:3000/
For the most part we have achieved most of our original goals with core features being production ready. Having said that, we do have some bugs and additional features that we would have liked to fix or implement, but were unable due to the time constraint.
For more information on some of the outstanding issues please see our issue tracker located here: https://csil-git1.cs.surrey.sfu.ca/callback-hell/eventium/issues
For complete testing guidelines (including test accounts) see README.MD inside /test/ folder
- Server side rendering
- Stateful application through the use of Redux
- Real Time chat is achieved using Socket.IO
- Using debounce() function to provide a fluent real time UI feel when user invites a new member to an event
- The bundle.js is minified and compiled using Webpack
- Universal ES6 using babel
- Custom express middlewares to authenticate API calls
- Passwords are encrypted using Bcrypt
- Automatic Event and Profile image uploads which are then served using Nginx
- Persistent sessions with expiry set to 10 minutes
- Custom database provision tool that sets up data
- Code linting using ESlint
- Node/Express
- React/Redux/React-Router - Server Side Rendering
- socket.io
- React/Redux/React-Router
- Bootstrap
- Webpack
- Babel - To Provide Universal ES6 support
- Sequalize
- PostgreSQL
- Nginx
git clone git@csil-git1.cs.surrey.sfu.ca:callback-hell/eventium.git
vagrant plugin install vagrant-notify-forwarder
- Used to notify vagrant when file changesvagrant up
- Once vagrant done setup open two terminal windows.
- cd eventium folder
vagrant ssh
cd /home/eventium && npm run start:dev
- cd eventium folder
vagrant ssh
cd /home/eventium && npm run build:dev:watch
Doing this will ensure that your node server gets restarted on file save and a new bundle.js file is generated.
You might also want to install React browser dev tools which can be found here: http://bit.ly/1dGLkxb
We're using airbnb eslint style. The guide bellow will outline on how to install eslint in your Sublime Text
- Install Package Control
https://packagecontrol.io/installation
- Press Command-Shift-P (Mac OS X) or Ctrl-Shift-P (Windows) to open the Command Palette.
- Start typing Package Control until you see the appropriate commands.
- Select Package Control: Install Package
- Install SublimeLinter
- Install SublimeLinter-contrib-eslint
- Install eslint according to https://github.com/roadhump/SublimeLinter-eslint
To install eslint globally (works on windows), run npm install -g eslint eslint-config-airbnb eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react
If installing eslint in local project, make sure that your sublime eslint path points to node_modules/.bin/eslint