DEV Community

loading...
Cover image for How do you organize your projects?

How do you organize your projects?

madza profile image Madza ・1 min read

An organized and well-thought-out folder structure is crucial to keep track of your projects and be in full control of their states.

Currently, I use a simplified version of a filesystem used by CΓ©cile Lebleu. Here is a rough sketch of what it looks like:

PROJECTS
| - FINISHED
|   | - Finished Project 1
|   | - Finished Project 2
| - SANDBOX
|   | - Test Project 1
|   | - Test Project 2
| - Active Project 1
| - Active Project 2
Enter fullscreen mode Exit fullscreen mode
  1. First there are my 'Active projects'. I try to keep them around 5-10, so it's easier to get track of them. Those are all the projects I have a clear vision about what to build and why I need to finish them.

  2. When an 'Active project' gets finished, I move it into the 'Finished' folder, so my root is clearer. I might sort them even more across 'Years' subfolders in the future, once I start to lose control.

  3. Finally, there is the 'Sandbox' folder. This is my testing folder, an idea bank. I usually start my ideas there and move them outside if I see a future for them, so they become my 'Active projects'. I do regular cleanups there, by removing the ideas with lesser potential.

I would love to see your approaches on how you organize the projects.

Discussion

pic
Editor guide
Collapse
ben profile image
Ben Halpern

I have a folder called dev and it's basically one big dumping ground πŸ˜…

Collapse
isarisariver profile image
Marian Beck

Best method imho πŸ™ƒ

Collapse
takunda profile image
Takunda Madechangu

me i have a folder called projects i used to have a folder structure like

in_prog(in progress)
done(finished)
testing
play

but you know πŸ˜‚πŸ˜‚πŸ˜‚ I just started dumping stuff to a single folder

Collapse
madza profile image
Madza Author

Haha, seems pretty familiar πŸ˜‚πŸ˜‚

Collapse
dailydevtips1 profile image
Chris Bongers

Hey Mazda,

For me, it's obviously all in GIT.

But next to that my local environment is very simple:

--- www (the main folder, that's linked to my localhost)
---- git project 1 (no matter what, PHP, Angular, Ionic)
---- play (playground folder, can run simple PHP scripts)
----- script1.php

Basically it's cd www and runs whatever I need to start working on.
I do clean up this directory if I don't have to work on this project for a while.

Also, a good one to keep track if all projects are committed:
Check git commit status

Collapse
madza profile image
Madza Author

Thanks for the input πŸ™β€

Collapse
takunda profile image
Takunda Madechangu

If I wasn't lazy my projects structure would be like this:

| - Projects
|    | - webapps
|         | - done
|             | - 2020
|                  | - Merlin
|                  | - Argos
|             | - 2019
|                  | - Trinity
|         | - in_progress
|         | - testing
|         | - lab
|    | - mobileapps
|    | - deskapps
|    | - tools
Enter fullscreen mode Exit fullscreen mode

πŸ˜…πŸ˜‚πŸ˜‚πŸ˜‚ but i am lazy so I just throw my eggs in one basket

Collapse
snorkypie profile image
Steeve Lennmark

I am curious to what kind of projects you have that become "finished"? I don't think I've ever come to a "this project is perfect and thus finished" state yet. Personally I don't have enough projects going that splitting them up from ~/src would make any sense :-)

Collapse
madza profile image
Madza Author

Agree with you, see my reply to Gary πŸ˜‰

Collapse
lucsedirae profile image
Jon Deavers

I installed a new SSD prior to beginning a boot camp in order to have a completely fresh directory tree that was separate from my Windows directory tree and cloud storage. Also makes navigating the terminal easier for git and node purposes. But I honestly hadn't put much thought into the organization of that drive yet. This is a great starting point. Thanks!

Collapse
madza profile image
Madza Author

No problems, happy to help πŸ™β€

Collapse
fishermedders profile image
Fisher

I would love to see your approaches on how you organize the projects.

This really got me thinking...
I’ve gotta get on the organization game.

Thanks for the thought provoking article!

Collapse
madza profile image
Madza Author

Awesome to hear! πŸ˜‰
Each move you take starts by setting the mind towards it πŸ™β€

Collapse
fishermedders profile image
Fisher

er- I wanna come back and thank you, I've organized my whole system in ways it should have been all along. I can really attribute it to this article. My computer and I surely thank you :)

Collapse
_garybell profile image
Gary Bell

What's a finished project?

I throw everything under /var/www/html with its own folder, and haveva separate sandbox project for trying stuff before it hits a project

Collapse
madza profile image
Madza Author

Agree with the fact that the project is never actually finished, as theoretical, there are always more options to add and ways to improve it... πŸ˜‰Let me re-phrase - these are the projects that have fulfilled the requirements (features) and the client is happy with πŸ˜‰

Collapse
_garybell profile image
Gary Bell

I keep forgetting that people do freelance work and actually have multiple clients. I have my employer, and then just side projects which I tinker with for learning more than anything.

Basically, everything of mine is a folder relating to its repository within GitLab. Doesn't matter if it's web or something else. Web goes in /var/www/html anything else goes in /home/gary/Documents/code/

Collapse
loouislow profile image
Loouis Low
β”œβ”€β”€ mess
β”‚Β Β  └── (random unfinished projects)
β”œβ”€β”€ play
β”‚Β Β  └── (personal working projects)
└── work (client projects)
    β”œβ”€β”€ doc
    β”œβ”€β”€ individual
    └── organization
Enter fullscreen mode Exit fullscreen mode
Collapse
shadowtime2000 profile image
shadowtime2000

I have a folder called js-projects because I really only program with JS and TS and I put what projects I have in separate folders there.

Collapse
nirbhayparmar profile image
Nirbhay Parmar

I have a folder called webdev in my pc where I put my all projects.