Browse Source

Add README

master
garrettmills 2 years ago
parent
commit
77db9370a0
1 changed files with 13 additions and 42 deletions
  1. +13
    -42
      README.md

+ 13
- 42
README.md View File

@ -1,31 +1,20 @@
<p align="center"><img height="200" src="https://static.glmdev.tech/flitter/flitter-big.png"></p>
<p align="center"><img height="200" src="https://static.garrettmills.dev/assets/flitter/flitter_f.png"></p>
# Flitter
# Flitter Glide
Flitter is a quick & ligthweight web app framework based on Express.
Flitter is a quick & ligthweight web app framework based on Express. Flitter Glide is an even lighter-weight version of Flitter designed for building CLI apps with a convenient init/config structure.
### What?
Flitter is an MVC style framework that aims to get you up and running faster by providing a structure and a wrapper for Express.js. Files in predictable directories are parsed into routes, middleware, controllers, models, and views.
Flitter provides access to the Express app, while making it possible to create an app without needing to piece together the Express framework.
### Flitter Provides:
- Express for routing
- Mongoose for ODM
- Busboy for request parsing
- Favicon support
- `./flitter` - CLI tools for Flitter (including an interactive shell)
- User auth & sessions (see below)
Glide is NOT a web app framework. Glide is for building Node.js CLI apps and services. It enables you to still make use of the familiar Flitter config system, database model system, init system, packages, and tools, but without the unnecessary webserver stuff.
### How?
Getting started with Flitter is easy. To create a new project, simply run the following commands:
```
# Download Flitter:
git clone https://git.glmdev.tech/flitter/flitter {project_name}
# Download Glide:
git clone https://git.glmdev.tech/flitter/glide {project_name}
cd {project_name}
# Install dependencies:
@ -34,19 +23,15 @@ yarn install
# Create default config:
cp example.env .env
# Launch Flitter!
./flitter up
# Launch Glide!
node index.js
```
And voilà! You should have a Flitter app up and running on port `8000` by default.
And voilà! You should have a Flitter app up and running. By default, it does nothing but wait for you to press `^C` to exit. What's next is up to you.
### Why?
Define your application structure however you'd like in the `app/` directory and link it into the `go()` method of the `Application` unit in that directory. You can make use of Flitter CLI's directive system for your application as well.
Flitter's creator is a former Laravel junkie, but loves Node and Express. He got tired of having to hammer out the same 500 lines of code to start every project, but didn't want the bulk and obfuscation of larger frameworks like AdonisJS.
Flitter is designed to be compartmentalized and easy to understand. Every piece of its core functionality is broken into "units." Each of these units does some task like loading config, parsing middleware, connecting to the database, etc. You can see exactly what units your application is loading by viewing the Units file in `config/Units.flitter.js`. Each of Flitters core units are open to view in the [libflitter](https://www.npmjs.com/package/libflitter) package.
Of course, this also means that Flitter is extremely easy to extend. If you want to add a custom package, simply require it and add its unit to the Units file!
For more information on `flitter-cli` and the directive system, see the docs at the link below.
### Who?
@ -54,19 +39,5 @@ Flitter was created by [Garrett Mills](https://glmdev.tech/), and its use is gov
Of course, that does mean that Flitter is © 2019 Garrett Mills. ;)
#### Auth?
Out of the box, Flitter ships with a ready-to-use user registration/login/session system called [flitter-auth](https://git.glmdev.tech/flitter/auth). Flitter Auth provides:
- Registration & Login
- RequireAuth and RequireGuest route middlewares
- A customizable User model w/ Bcrypt hashed passwords
- User session support with logout functions
To get started using Flitter Auth, just run:
```
./flitter deploy auth
```
This command will copy the necessary files to your Flitter install. The files are directly accessible and, therefore, completely customizable.
### Full Framework
You can find information on the full Flitter web framework, as well as complete documentation on how to use the config and model system, [here.](https://flitter.garrettmills.dev/)

Loading…
Cancel
Save