Giter Club home page Giter Club logo

lazybum's Introduction

lazyBum is the new node.js framework created by Streets Ahead LLC. We built lazyBum because we wanted to be able to build applications the way we wanted to build applications. We know that every developer has their own ideas about how things should be done and this is ours. Currently lazyBum is in a very alpha stage. It can probably be thought more like a proof of concept than a production ready framework. That said we believe in the development model of our little framework and we hope you check it out. We welcome contributions so feel free to fork away. This is primarily a weekend/evening project for us so we give it as much attention as we can but things may not always move quickly, that said feel free to provide feedback and report bugs.

To use lazyBum type

> npm install -g lazyBum

Note: You are not required to use the -g option, but it may make it easier. The -g flag installs globally, installing it this way will make sure you can always access you command line utility.

Once you have installed lazyBum you can get started by using our command line utility to generate a project. Create a new directory and move into it, then use the init command shown below.

> lazybum init

This will generate the basic folder structure for an lb project. If you have used Rails, Grails, CodeIgniter, etc this should look relatively familiar. The first folders you'll want to take note of are Controllers and Templates. As implied the controllers folder will contain all your controllers and the template folder will contain your templates. We use a custom template engine that is basically an adapted version of Parrot. You can test your new project by typing node main.js then visit http://localhost:8888 in your browser.

lazybum's People

Contributors

streets-ahead avatar terrbearcodes avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

lazybum's Issues

add findOne and findandmodify

Should add support for the mongo native driver's findone and findandmodify. These need to be added in mongo helper and then supported in collections.

Add bootstrap for test data

Add bootstrap feature like grails to load test data, I'm not sure if we should actually load data in mongo or just create an in memory store so that all changes will disappear when the application is stopped.

FileServer Update

FileServer shouldn't look in "/public" for assets such as js, css, & images. These assets need contained within a new hierarchy that supports theming in vagabond and groups all view related files in 1 directory

PROPOSAL:
the public & templates directories give way for something resembling the below
/display
--/assets
----/js
----/css
--/templates

Controller: Default View

Add defaultView capabilities to parent controller and writeResponse methods. Should be able to leave out last argument or pass null and framework will direct to view based on value of defaultView property.

Also need to update lazybum bin to be able to specify @ creation.

Lblogger rollover

Need to add rollover to lblogger. Currently logs may get very large.

Improve error handling

Currently errors are handled by process.on(''uncaughtexception'), this is not great. To improve it I want to create a custom exception that will be bound to the users request and response. This will be thrown throughout the lB framework and should allow us to at least somewhat control error flow.

To ease the burden on the user so they don't have to throw and catch these exceptions ahead should be improved to use these new exceptions and the practice will be that devs use ahead for async calls.

Enhance collections

It would be nice to support typing for Arrays. Also it would be kinda cool to support relations between collections.

Saves fields not in schema

If you add a filed to a collection object that is not in the schema it will still get saved. We should at least pop up a warning, if not a validation error that prevents saving.

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.