What is a folder structure for a full stack web app?

Hi.

I see many projects that are fullstack (frontend & backend) with different folder stucture or names. For example,

FullStackApp
-backend
-client

or

FullStackApp
-server
-frontend

What is the industry standardized naming convention and how to let our build system know what to expect and what to build?

Thanks.

I don’t think there is a standard. What is important is that the naming is clear and understandable.

funny enough, in your example I would then go for:

FullStackApp
-backend
-frontend

or:

FullStackApp
-server
-client

which feels more logical to me. back-end and front-end fit together better, just like server and client.

I also did projects where we had separate projects for back-end, web front-end and the mobile apps, so then we had project-backend, project-android, project-ios, project-web (where project is the project name)

Hi,

Yes I have done some stand alone projects and I find them much easier to work with. Working with all the projects inside a single folder structure doessnt the build system needs to know how to make each build when running them through CI/CD?

Thanks.

if you have vueJS or reactJS front-end, and a golang back-end in a single directory, the pipelines for the sub directories need to be very different. A vue/react front-end has very different steps then a golang back-end.

as such, I doubt such a structure is very desirable. I would then opt for something like:

- projects
   - xyz
      - xyz-web
      - xyz-api
  - abc
  // other projects. 

where the git repository are in xyz-web and xyz-api. Good folder/directory structure, well organized.

We had two different projects with different backends.

Project One:
Front end - React,
Backend - Java Springboot

Project Two:

Front end - React,
Backend - NodeJS

I feel like this topic should also be covered in FullStack Path with CI/CD its own little study path.

  • xyz-web is your client/frontend?

I am just a volunteer on the forum, trying to help. I haven’t done the full stack path, although there might be some useful information in there,too much effort and too little gains

Is the edit I made to my previous answer clear? Do you agree on that folder structure?

yes, it is :slight_smile: but that name could be anything of course, those are just some fictive names. But something logical would make sense

1 Like

I am guessing that the folder structuring doesnt have any significance as the CI/CD doesnt rely on the naming but just directly goes under to find the Projects to build? Sorry I am trying to clear my misconceptions. I think my questions and the right answers will definitely help allot of people or just me :smiley:

The pipeline (CI/CD) runs on the (git) projects, so doesn’t care about your local directory structure. The directory structure is just for you to organize your projects.