DEV Community

Harry Dennen
Harry Dennen

Posted on

3 1

How do you structure your app?

We have a fairly large app currently organized at a high level into view, logic, model, communication, and utils. All files are aliased and we have scripts to handle any moves. For the most part we follow grouping by purpose, but it's still a bear to find things sometimes.

This is the second time our team has taken a shot at reorganizing so I'd love to hear about everyone's experience with this.

Example:

|-view
  |-engine
    |-core
    |-animation

  |-feature
    |-featureName

Top comments (2)

Collapse
 
thermatix profile image
Martin Becker • Edited

I might separate it like this:

| root files
| - bin
| - lib
  | - engine
    | - sound
    | - graphics
    | - gui
  | - entity
     | - manager
     | - components
| - app/data/content
  | - entities
    | - mobs
    | - npcs
    | - items
  | - guis
    | - menu
    | - inventory
  | - models
  | - gfx
  | - shaders

Collapse
 
hdennen profile image
Harry Dennen

I've realized the most important part of this exercise is to make sure the structure guides a team to make the same decisions on where to put things. Whether they're good or bad isn't really relevant as long as everyone reaches the same conclusions when looking at the structure.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more