Getting Started

Project Structure

Standard directory layout for AxilJS applications.

1 min readDocumentationEdit this page

Directory layout#

typescript
my-api/
├── src/
│   ├── main.ts
│   ├── config/
│   │   └── app.config.ts
│   ├── modules/
│   │   └── users/
│   │       ├── controllers/
│   │       │   └── users.controller.ts
│   │       ├── services/
│   │       │   └── users.service.ts
│   │       ├── entities/
│   │       │   └── user.entity.ts
│   │       └── users.test.ts
│   ├── migrations/
│   │   └── 001_create_users.ts
│   └── jobs/
├── package.json
├── tsconfig.json
├── rest.lock
├── .env
├── .env.example
└── .gitignore

Key files#

src/main.ts#

The application entry point:

typescript
import { Application } from '@AxilJS/core'
import { appConfig } from './config/app.config'
 
const app = new Application(appConfig)
app.listen()

src/config/app.config.ts#

typescript
import { loadEnv, defineConfig } from '@AxilJS/config'
 
loadEnv()
 
export const config = defineConfig({
  PORT:       { type: 'number', default: 3000 },
  NODE_ENV:   { type: 'string', default: 'development' },
  JWT_SECRET: { type: 'string', required: true }
})

.env#

env
PORT=3000
NODE_ENV=development
JWT_SECRET=your-secret-minimum-32-characters
DATABASE_URL=postgres://user:pass@localhost:5432/mydb

Help improve the documentation

AxilJS is open source and documentation improvements are welcome.

AxilJS DocumentationMIT License · Built by SyntaxilitY