Giter Site home page Giter Site logo

mattpiccolella / adi-website Goto Github PK

View Code? Open in Web Editor NEW

This project forked from adicu/adi-website

0.0 2.0 0.0 41.76 MB

The website for the Application Development Initiative, built on Eventum.

Home Page: https://adicu.com

Python 36.65% CSS 14.98% JavaScript 5.47% HTML 42.58% Shell 0.32%

adi-website's Introduction

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

Vagrant

There is an alternative installation route that will set up a virtual machine on your computer and install all necessary software for you. You must first install Virtual box and Vagrant.

vagrant up
# wait for installation

# enter your virtual machine
vagrant ssh

# enter your project directory
cd /vagrant

# add application settings to your environment
source config/settings.sh

# run the application
python run.py

# view the app!
# open your browser to localhost:5000

Documentation

Eventum uses Sphinx to compile documentation to an HTML website. This documentation is generated from the source code.

Here's how to compile the docs:

# The documentation requires that the app is runnable, so you must be in a
# development environment
./develop.sh
source bin/activate
source config/settings.sh

cd docs
# This will generate the documentation website in /docs/_build/html
make html 

# Then either host the docs on localhost:8000
cd _build/html
python -m SimpleHTTPServer .

# Or open them directly
open _build/html/index.html

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

adi-website's People

Contributors

schlosser avatar alanhdu avatar natebrennand avatar freeslugs avatar sunnybala avatar evanngoldstein avatar parthibanloganathan avatar eunicekokor avatar thebrianzeng avatar anshulkgupta avatar jakekwon avatar jettca avatar

Watchers

James Cloos avatar Matt Piccolella 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.