Files organisation

To keep things well structured, we will slip our code in different folders in packages/api.

  • / project configuration files

  • src all the code we write for the app.

    • config one file per environment.

    • entities our data models.

    • migrations if we need to alter the database.

    • routers one folder per route.

This is the final files structure:

.
├── jest.config.js
├── package.json
├── src
│   ├── app.ts
│   ├── config
│   │   ├── ci.ts
│   │   ├── index.ts
│   │   ├── local.ts
│   │   ├── production.ts
│   │   ├── shared.ts
│   │   └── staging.ts
│   ├── containers.ts
│   ├── coverage
│   │   ├── Emoji.ts.html
│   │   ├── base.css
│   │   ├── containers.ts.html
│   │   ├── index.html
│   │   ├── prettify.css
│   │   └── sort-arrow-sprite.png
│   ├── entities
│   │   ├── Link.ts
│   │   ├── User.ts
│   │   └── index.ts
│   ├── index.ts
│   ├── middlewares
│   │   ├── RateLimiter
│   │   │   ├── index.spec.ts
│   │   │   └── index.ts
│   │   └── index.ts
│   ├── migrate.ts
│   ├── migrations
│   │   └── 001_example.ts
│   ├── routers
│   │   ├── Emoji
│   │   │   ├── index.spec.ts
│   │   │   └── index.ts
│   │   ├── GraphQL
│   │   │   ├── helpers
│   │   │   │   ├── PaginatedArgs.ts
│   │   │   │   ├── PaginatedResponse.ts
│   │   │   │   └── index.ts
│   │   │   ├── index.ts
│   │   │   └── resolvers
│   │   │       ├── Health.ts
│   │   │       ├── Link
│   │   │       │   ├── Link.spec.ts
│   │   │       │   ├── Link.ts
│   │   │       │   ├── LinkInput.ts
│   │   │       │   └── index.ts
│   │   │       ├── User
│   │   │       │   ├── User.spec.ts
│   │   │       │   ├── User.ts
│   │   │       │   ├── UserAuthInput.ts
│   │   │       │   └── index.ts
│   │   │       └── index.ts
│   │   └── index.ts
│   ├── sequelize.ts
│   └── setupTests.ts
├── tsconfig.json
├── tslint.json
└── yarn.lock

Last updated

Was this helpful?