Skip to content

anshulkgupta/eventum

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Eventum

Eventum is a content management system for an event-driven blog that syncs with Google Calendar.

Stack

Setup

Eventum runs on Linux and OSX. To get it up an running, follow these steps:

  1. Install MongoDB (Ubuntu Linux, OSX).

    On OSX, you may have to run $ mkdir /data /data/db before you can run mongod without errors.

  2. Install VirtualEnv:

    $ sudo pip install virtualenv
  3. Download a copy of client_secrets.json from the Google Developer Console or from a friend, and place it in the config folder.

  4. Authorize the Google Calendar API:

    $ python manage.py --authorize
  5. Install SASS gem gem install sass

    • otherwise, you will see an OS error

Then you should be all set to run!

Developing

Here's how to run Eventum in a development environment:

mongod &
virtualenv --no-site-packages .
source bin/activate
source config/settings.dev
pip install -r config/requirements.txt

python run.py

Or alternately:

./develop.sh
source bin/activate
source config/settings.dev
python run.py

Finally, go to localhost:5000 on your browser

Developing without Authentication

It is possible to run Eventum without logging in using Google+ or authenticating with Google Calendar. To do so, edit config/settings.sh and set GOOGLE_AUTH_ENABLED to FALSE:

# Whether or not to enable Google Auth or not.
echo $GOOGLE_AUTH_ENABLED

Testing

Tests live in the test directory, and can be run via nosetests:

source bin/activate # If you are not already in your virtualenv
nosetests

Organization / Structure

.
├── app              # All code related to the running of the app
│   ├── forms        # Flask-WTForms models, used for generating forms in HTML
│   │                #     and validating input
│   ├── lib          # Misc helpers, tasks, and modular libraries
│   ├── models       # Mongoengine Models
│   ├── routes       # All Flask routes, using Blueprints
│   ├── static
│   │   ├── css      # CSS
│   │   │   ├── lib  # CSS libraries
│   │   │   └── gen  # CSS generated from SCSS
│   │   ├── img      # Images
│   │   ├── js       # Javascript files
│   │   └── scss     # Stylesheets
│   ├── templates    # HTML templates
│   └── __init__.py  # All app-wide setup.  Called by `run.py`
├── config           # Configuration files
├── data             # Backup data
├── manage.py        # Various scripts.  Run `python manage.py` to view usage.
├── run.py           # Runs the app!
├── script           # Scripts run by `manage.py` outside of the app
├── test             # Unit tests
└── log              # Log Files

About

An event-driven CMS that syncs with Google Apps

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 53.6%
  • CSS 35.0%
  • JavaScript 10.9%
  • Shell 0.5%