/snippod-boilerplate

webapp + server full stack architecture boilerplate using "react+reflux"(front) and "django REST framework"(server).

Primary LanguageJavaScriptMIT LicenseMIT

Snippod-Boilerplate

Join the chat at https://gitter.im/shalomeir/snippod-boilerplate

Overview

Snippod-Boilerplate is a webapp baseline sample program using react+flux and django REST architectures. This program was made for Snippod's baseline. We'd like to build this starter kit based on full stack single page web application architecture. Snippod's architecture used a this kind of technology, React + Flux (RefluxJS) + django REST framewrok + RDBMS. This stack is presented by diagram too.

You can check out the hosted version DEMO at http://snippod-boilerplate-dev.elasticbeanstalk.com/.

Alt stack image

Base Repository, Module

Frontside Snippod-Boilerplate is based on a Yeogurt Generator and a React news clone like Hacker news site.
Also serverside are maded by django REST framework.

We made this using these technologies.

Getting Started

Preliminaries :

  • Python 3.4
  • virtualenv (optional)
  • npm

You have to git clone this repository.

git clone https://github.com/shalomeir/snippod-boilerplate

Installation for frontend WebApp

In the 'snippod-webapp' directory './snippod_webapp/'

There are a few dependencies that this project relies on: Node.js (v.0.10.36), Grunt & Bower

  • npm install && bower install

Installation for REST API Server

In the 'snippod-server' Root directory './'

  • virtualenv venv
  • source venv/bin/activate
  • pip install -r requirements.txt
  • python manage.py makemigrations && python manage.py migrate
  • python manage.py createsuperuser

Usage for frontend WebApp

In the 'snippod-webapp' directory './snippod_webapp/'

Usage for REST API Server

In the 'snippod-server' Root directory './'

  • python manage.py runserver

Description

Front side

Almost main javascript source are located './snippod_webapp/client/scripts/' directory. Since, We'd like to apply node server for react server-side rendering, but didn't make yet.

This front side ajax call usually doing in Actions. Reflux provide async auto generation for action. We use this and Promise.

Server side

Django Rest framework provide browserble API. So you can see all get json by browserble API address too.

More information is available at this blog post written in Korean.

Reference

Front side

Server side

Contributing

Contributions, questions and comments are all welcome and encouraged.

License

MIT License.

Copyright 2015 Seonggyu Lee.