Go to file
garrettmills 49be0887d0
Some checks failed
continuous-integration/drone Build is failing
Drone: rework ci pipeline
2022-12-02 10:24:35 -06:00
app Implement better radius support 2022-10-26 13:45:05 -05:00
config Implement better radius support 2022-10-26 13:45:05 -05:00
deploy Add kubernetes deployment specs 2022-06-25 20:55:06 -05:00
flaps Initial Flitter Commit 2020-04-16 15:38:01 -05:00
locale Remove Vault support; fix OpenID Connect client delete issue 2022-10-26 02:59:43 -05:00
tmp.uploads Add support for profile photos; default image 2020-05-18 22:55:08 -05:00
uploads Initial Flitter Commit 2020-04-16 15:38:01 -05:00
.drone.yml Drone: rework ci pipeline 2022-12-02 10:24:35 -06:00
.gitignore Implement better radius support 2022-10-26 13:45:05 -05:00
docker-compose.yml Initial Flitter Commit 2020-04-16 15:38:01 -05:00
docker.env Initial Flitter Commit 2020-04-16 15:38:01 -05:00
Dockerfile Update Dockerfile to Node.js 16 2022-10-26 03:07:36 -05:00
example.env Update flitter jobs 2020-12-03 20:00:40 -06:00
flaps.json Initial Flitter Commit 2020-04-16 15:38:01 -05:00
flitter Flesh out users OU (works with Gitea simple LDAP now!!) 2020-04-20 22:46:19 -05:00
index.js Implement RADIUS server! 2021-10-24 13:12:58 -05:00
LICENSE Initial Flitter Commit 2020-04-16 15:38:01 -05:00
package.json Implement better radius support 2022-10-26 13:45:05 -05:00
README.md Initial Flitter Commit 2020-04-16 15:38:01 -05:00
TODO.txt Expand activity tracking and add PasswordResetAlert job 2020-07-13 09:35:11 -05:00
Units.flitter.js Implement better radius support 2022-10-26 13:45:05 -05:00
yarn.lock Implement better radius support 2022-10-26 13:45:05 -05:00

Flitter

Flitter is a quick & ligthweight web app framework based on Express.

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)

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}
cd {project_name}

# Install dependencies:
yarn install

# Create default config:
cp example.env .env

# Launch Flitter!
node index.js

# Or use the interactive shell
./flitter shell

And voilà! You should have a Flitter app up and running on port 8000 by default.

Why?

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 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!

Who?

Flitter was created by Garrett Mills, and its use is governed by the terms of the MIT License as specified in the LICENSE file.

Of course, that does mean that Flitter is © 2019 Garrett Mills. ;)

This command will copy the necessary files to your Flitter install. The files are directly accessible and, therefore, completely customizable.