PHPackages                             just-paja/fudjan - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. just-paja/fudjan

AbandonedArchivedLibrary

just-paja/fudjan
================

Fudjan LMCV web framework with modules and layouts

1.2.6(9y ago)02991[2 issues](https://github.com/just-paja/fudjan/issues)[1 PRs](https://github.com/just-paja/fudjan/pulls)2GPL-3.0+PHP

Since Jan 22Pushed 9y ago2 watchersCompare

[ Source](https://github.com/just-paja/fudjan)[ Packagist](https://packagist.org/packages/just-paja/fudjan)[ RSS](/packages/just-paja-fudjan/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (3)Versions (78)Used By (2)

Fudjan LMCV web framework
=========================

[](#fudjan-lmcv-web-framework)

Yet another web framework that tries to be open, lightweight and simple.

Sadly, I didn't have time to create any usable docs, just some inlined javadoc style comments.

Installation
------------

[](#installation)

1. Get [Composer](https://github.com/composer/composer) if you don't have it already
2. Create project via composer. Package [fudjan-project](https://github.com/just-paja/fudjan-project) is a very simple wrapper for downloading composer dependencies and keeping clean `BASE_DIR`

    ```
    $ composer create-project just-paja/fudjan-project
    ```

Features
--------

[](#features)

### Multi level JSON config

[](#multi-level-json-config)

You keep your config on path `etc/conf.d/{env}` using simple and readable JSON. Lookup default config on `etc/default/conf.d` for list of options. Fudjan reads all .json files begining in `{ROOT}/etc/default/conf.d`, going trough `{BASE_DIR}/lib/vendor/**/etc/default/conf.d` and finishing in `{BASE_DIR}/etc/conf.d/{env}`. So you can simply overwrite settings just by writing them inside a json file.

### Domain config

[](#domain-config)

Do you use subdomains, vhosts or just run multiple domains? Just define rules how they're recognized and connect it with your routes. You might want to keep this config in `etc/conf.d/global/domains.json`

```
{
	"global":{
		"rules":["^(www\\.)?mydomain.net$", "^(www\\.)?mydomain.net.local$"],
		"init":["www", "godmode"]
	},
	"static":{
		"rules":["static.mydomain.net.net$", "static.mydomain.net.local$"]
	}
}
```

Key `rules` is regexp that is matched agains host header. Key `init` is list of scripts to run before page load. Scripts are taken from `etc/init.d`

### Binary helpers

[](#binary-helpers)

If your installation went well, you'll find executable in `bin/manage`. It contains modules and context help. Running it without arguments displays some basic info about your config. Syncing or migrating database, updating assets and deploying your project will be like walking trough the garden of marshmallow.

### Regexp URLs (routes)

[](#regexp-urls-routes)

This is pretty standard feature I guess. Routes are also in JSON on path `etc/routes.d/{domain}.json`

```
[
	["^/$", {
		"layout":["abstract/skeleton", "home"],
		"modules":[
			["example/mod_name", {"slot":"top", "mod_opts_example":"test"}, "name"]
		]
	}, "home"]
]
```

### Advanced resource handling

[](#advanced-resource-handling)

Images, icon, styles and scripts are accessed using serial numbers. When you change your website style, you change the serial number and frontend client is forced to re-download whole style.

Javascript and css files are minified when 'dev.debug.frontend' is not falsy.

#### Bower integration

[](#bower-integration)

Basic functions of bower are integrated inside fudjan. Packages are saved inside `share/bower`. If you want to add dependency, set config `assets.dependencies`. For syntax, see default settings.

Fudjan has CLI module for listing and updating frontend dependencies

```
$ ./bin/manage assets list
```

#### Resource packs

[](#resource-packs)

Resources are gathered during rendering process of http response. Right before sending it, they're concatenated.

```
$ren->content_for('scripts', 'bower/async/lib/async.js');
$ren->content_for('scripts', 'script/example.js');
$ren->content_for('styles', 'styles/layout.js');
```

#### Resource tags

[](#resource-tags)

You can tag images, icons, whatever and create your own tags inside styles and scripts.

```
.example {
	background-image:;
}
```

```
console.log('');
```

Requirements
------------

[](#requirements)

Fudjan will run with php &gt;= 5.3. Extension for database connections will be required, most likely PDO, but applications without DB can be made with fudjan as well.

LMCV?
-----

[](#lmcv)

Layout, model, controller, view. You define what and how many modules are run when URL pattern is triggered.

Why fudjan?
-----------

[](#why-fudjan)

The name is derived from Fuck Django.

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~15 days

Recently: every ~84 days

Total

77

Last Release

3360d ago

Major Versions

0.8.0 → 1.0.02015-12-23

0.7.24 → 1.2.62017-02-28

### Community

Maintainers

![](https://www.gravatar.com/avatar/e84c8d826b0d505f18675fabf8164efc4ac0eaf25ed93e1d914daac0c66c0cb8?d=identicon)[just-paja](/maintainers/just-paja)

---

Top Contributors

[![ReadyPlayerNaN](https://avatars.githubusercontent.com/u/1508022?v=4)](https://github.com/ReadyPlayerNaN "ReadyPlayerNaN (999 commits)")

### Embed Badge

![Health badge](/badges/just-paja-fudjan/health.svg)

```
[![Health](https://phpackages.com/badges/just-paja-fudjan/health.svg)](https://phpackages.com/packages/just-paja-fudjan)
```

###  Alternatives

[nunomaduro/collision

Cli error handling for console/command-line PHP applications.

4.6k331.8M8.5k](/packages/nunomaduro-collision)[getkirby/cms

The Kirby core

1.5k535.5k352](/packages/getkirby-cms)[tempest/framework

The PHP framework that gets out of your way.

2.1k23.1k9](/packages/tempest-framework)[phlak/directory-lister

PHP directory lister

2.5k1.4k](/packages/phlak-directory-lister)[bowphp/framework

The bow PHP Framework

6015.5k8](/packages/bowphp-framework)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
