GithubHelp home page GithubHelp logo

shijieshangzuimeidenvren / flask-skeleton Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sean-/flask-skeleton

0.0 1.0 0.0 338 KB

A skeleton for Flask applications

Python 70.38% Groff 3.52% HTML 25.66% CSS 0.44%

flask-skeleton's Introduction

	This is a "LAMP" stack done right... but using *NIX (FreeBSD/Mac),
	nginx, memcache, python and postgresql. :~]

There are several goals with this Skeleton:

1) To demonstrate Flask in action in a complete context, as opposed to the
fragmented set of tools that comprise Flask. Flask as a collection of modules
is great, btw!, but it means you have to bootstrap constantly. Skeleton is
out to combat that.

2) To demonstrate various best practices and combat the effects of the MySQL
stupid juice. Use of MySQL has led to some incredibly bad examples for how to
do things that end up being adopted by organizations and developers as "the
way" for open source products, but in professional development land, there
are diverging strategies. Document and exhibit an increasing number of them
here. Over time, I'd like to incorporate improved practices as they become
known.

3) Maintain Skeleton once the items in the TODO list are complete and shift
it in to maintenance mode. Specifically, I don't want to see it advance
beyond being a good starting point for developers (myself included).

So what started this?

Recently several people asked me for framework recommendations (it feels like
I've tried them all and have developed a few opinions along the way). As of
May 2011 it's Flask, but explaining the bootstrapping process required to get
a decent app up and running is high enough that you can't easily expect a new
programmer to figure it out before their attention span begins to drift. At
the same time I was giving out recommendations and fielding questions
regarding Flask, I also had a flurry of applications that I needed to
write. Ugh.

Bootstrapping any framework is typically a tremendous pain in the ass (and it
shouldn't have to be, but still is). So instead of constantly wasting various
evenings or afternoons looking up the required implementation details to
stitch components that every application needs (e.g. a database, static
files, caching), I started Flask-Skeleton.

I'd been hanging on to a "skeleton" app in my ~/src/template_app directory
for long enough and that I finally decided to kick something out that was
usable and documented. See the TODO for details on what has been completed,
but it was initially released to support structured development with a common
set of design patterns already implemented (i.e. it shouldn't take hours of
research to figure out how to do a mechanical task or get some piece of
infrastructure integrated). All of the provided "scaffolding" resides
somewhere under 'skeleton/' so that your friendly `egrep -r` command can find
the desired string and cement your understanding of the layout (i.e. don't do
the django thing and attempt to be clever by stashing application logic in
random libraries).

With Flask being the awesomest awesomesauce around (at least as of May 2011),
hopefully this contribution from your neighborhood ghost in the machine will
make Flask development a bit easier to get started with and will have a
positive impact on your future application development.

If you find new tricks that are sensible, straightforward and will help other
developers setup their apps in a non-fail way, let me know[1] and I'll
incorporate your changes (including improved documentation, unit tests and
comments).  Cheers and good luck.

To begin making use of this skeleton, step through the instructions in
INSTALL.

[1] https://github.com/sean-/flask-skeleton

flask-skeleton's People

Contributors

sean- avatar sinwoobang avatar

Watchers

 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.