Fastpoll
Fastpoll is a simple polling app built using Meteor and React. It was created to be extremely simple, not bulletproof.
Screenshots
Components
- Node modules
react
- React.jsreact-dom
- React virtual DOMreact-keyframes
- Easy animations with React componentsreact-mounter
- React component mounter which allows components to react to real time Meteor data
/client
- Client side templates, Meteor JavaScript files, and static files/stylesheets
- Client stylesheetsmain.css
- Main (and only) site stylesheet
main.html
- HTML head references to jQuery, FontAwesome, and Materializeroutes.js
- FlowRouter routing table
/imports
- All imported files/api
- Mongo collections and associated Meteor methodsoptions.js
- Poll options collectionpolls.js
- Polls collection
ui
- React componentsAbout.jsx
- About pageCreatePoll.jsx
- Poll creation pageError.jsx
- Errors to be shown to the userLayout.jsx
- Container for page-specific componentsNavbar.jsx
- Site navbarOption.jsx
- Individual poll optionShowPoll.jsx
- Individual poll view
/server
- Server side JavaScript filesserver.js
- Import relevant collections
Test Environment
- CentOS 7
- Docker 1.9.1
- Meteor 1.3.3
Setup
- Clone this repository:
git clone https://github.com/jswny/Fastpoll.git
- Start a MongoDB database from the official Docker image:
docker run --name fastpoll-db -d mongo
- In the
fastpoll
directory, build the Fastpoll Docker image:docker build -t jswny/fastpoll .
- Start Fastpoll by running the newly created image and linking it to the MongoDB database:
docker run -d --name fastpoll --link fastpoll-db:mongo -e ROOT_URL=http://localhost/ -e MONGO_URL=mongodb://fastpoll-db:27017 -p 80:80 jswny/fastpoll
- Your new Fastpoll server will be running on port
80
!