Netpress Laravel-inspired backend framework for Node.js
Frameworkv0.1.14 Starterv0.1.12 Docsv1.0.3
Overview Installation Architecture CLI
Getting Started

Project Structure

The starter now uses one shared application tree for most day-to-day work. Driver-specific folders still exist as compatibility fallbacks, but they are no longer the main layout.

Main Folders

PathPurpose
app/Your application code: controllers, models, services, policies, jobs, mail classes, providers
bootstrap/Express app creation and ordered provider boot
config/Runtime configuration for app, database, auth, cache, storage, mail, views, queue, and more
database/migrations/Shared migrations for SQL and MongoDB
database/seeders/Shared seeders with DatabaseSeeder.js as the default root entry
resources/views/Server-rendered web components and layouts
resources/mails/Server-rendered mail components and layouts
routes/Web and API route files
tests/Feature and unit tests
node_modules/@admicaa/netpress/The installed framework package

The Most Important Shift

The implementation is shared-first now:

  • app/Models/ is the default place for models
  • database/migrations/ is the default place for migrations
  • database/seeders/ is the default place for seeders

Legacy fallback folders are still recognized only when the shared roots are absent:

  • app/Models/sql
  • app/Models/mongo
  • database/migrations/sql
  • database/migrations/mongo
  • database/seeders/sql
  • database/seeders/mongo

If you are starting new work, do not create those legacy folders.

Common Feature Paths

FeaturePath
API controllerapp/Http/Controllers/
Middlewareapp/Http/Middleware/
Request validation classapp/Http/Requests/
Modelapp/Models/
Cache configconfig/cache.js
Storage configconfig/storage.js
Mail classapp/Mail/
Mail templateresources/mails/
Web page componentresources/views/pages/
Shared web layoutresources/views/layouts/
Migrationdatabase/migrations/
Seederdatabase/seeders/
Policyapp/Policies/
Jobapp/Jobs/
User-defined CLI commandapp/Console/Commands/

Provider And Route Layout

The app boots through:

  • server.js
  • bootstrap/app.js
  • bootstrap/providers.js

Then the providers mount routes and shared services:

  • AppServiceProvider registers body parsing, sessions, shared view state, response helpers, and the shared cache/storage facades
  • DatabaseServiceProvider boots the active runtime, shared models, and the starter db helper
  • RouteServiceProvider mounts routes/web.js only when config/view.js enables a web engine, then mounts routes/api.js under /api/v1

Rendering Files

setup:rendering writes and updates these areas:

  • config/view.js
  • config/mail.js
  • routes/web.js
  • app/Http/Controllers/HomeController.js
  • resources/views/layouts/
  • resources/views/pages/
  • resources/mails/layouts/
  • resources/mails/

That means rendering setup is part of the starter structure, not an external addon.

Inside The Framework Package

The @admicaa/netpress package contains the reusable framework runtime:

  • src/base/ for shared model, controller, request, mail, and relation primitives
  • src/database/ for connection resolution, model adapters, query builders, query adapters, and migration helpers
  • src/core/ for view and mail rendering helpers
  • src/commands/ for CLI commands
  • stubs/ for generator output

If you are documenting or debugging framework behavior, inspect this package before guessing from the starter files.