As a web professional, freelance or full-time employee, it’s important to keep project files organized on the computer. It needs to be done efficiently for the same reasons one would keep a file cabinet in order—to catalog, to retrieve and find, to archive, except the digital file cabinet is much more flexible when it comes to filing away digital work.
Below you will see how I organize my projects, keep in mind I’m predominantly a designer so my system will cater more to the designer than the developer. Also keep in mind my work machine is a Mac, there are references to OS X.
A Couple Rules
- My personal preference is to drill everything down by client first.
- I try to keep the directory structure as simple as I can. Too many useless directories will just clutter up digital filing cabinet and adds more clicking and typing than there needs to be.
- I keep most of my directory names lower case with no spaces because it’s a bit more command line friendly. Although, directories aren’t case-sensitive when it comes to the command line, it is case-sensitive when using auto-complete (typing 2 or 3 letters of the directory and pressing TAB). I have OCD when it comes to capitalization so this took awhile to adjust to.
I will start by highest in hierarchical order, then dwell all the way down and repeat.
workspace- this is the home directory for all my projects and digital assets. This is located directly in the home directory on my Mac.
workspace/Assets- This is the location of all my design assets that I can use for any given project. This includes fonts, icons, photo stock, and project documents (contract)—anything that isn’t specific to any of my projects that I can re-use. Every asset is split up into its own directory and named accordingly.
workspace/blog- This is where I keep anything relating to this blog. Since this is relatively new directory I’m a bit unsure how I’m going to organize this.
workspace/blog/[entry title]- Where I keep drafts of my blog entries, source files and images that correspond to the specific blog entry will also go in this directory.
workspace/clients- Where all my client work is located, the most active directory.
workspace/clients/_archive- Where I keep all of my old design/code (the underscore sorts this directory first when sorted by alphabetical order).
workspace/clients/[client name]- Name of the client, if the client has a long name and/or the name is made up of more than 1 word I will shorten (or abbreviate) to how I see fit (dashes or underscores work too).
workspace/clients/[client name]/[job number]- The best way to organize projects is by each job. There is also the chance you will have numerous jobs for the same client. This is where the job number comes in. To number the projects, I use the first 3 letters of the client’s name and the next 4 numbers represent the actual job number (AAA-0000). Let’s say that I have Jojo Tires as a client, and they are a new client so this will be the first job for them. The job number would be JOJ-0001.
workspace/clients/[client name]/[job number]/design_reviews- This is where I keep all my design reviews. I number and label the client approved screenshot with the color red. I’ll create a directory for each section of the website that has a screenshot
workspace/clients/[client name]/[job number]/from_client- All files from the client are located here. I create a directory for each type of file (photos, documents, copy, etc).
workspace/clients/[client name]/[job number]/project_docs- All project documentation goes here. This includes the digital version of estimates, work orders, contracts, invoices, etc.
workspace/clients/[client name]/[job number]/source_files- All source files go here. This would includes mostly design comprehensives (Photoshop documents - .PSD) and branding/logo files (Illustrator documents - .AI).
workspace/clients/[client name]/[job number]/www- You guessed it, this is where all the development happens. Right now I use MAMP + Headdress for PHP development (I don’t actually develop using PHP, this is method I use for designing blogs that run on PHP), and I run my Rails apps from this directory that I develop locally.
Back to the top (
workspace/misc- This is for files I can not categorize with anything else. Right now I keep my resume and my random photoshop stuff that I did for fun.
workspace/personal-projects- Where all my personal projects are located. Obviously, I sort these projects the exact same way as I sort my client work.
How do you organize your files?