I've been working on a lot of side projects or small apps lately, and I feel like they're all just scattered about - between Codepen, Glitch, Netlify, my own webhost, etc.
It's made me wonder how other people organize or keep track of their apps, and what the best way to kind of "clean up" after myself is!
Top comments (42)
One big folder for everything. In there I have 3 main structures.
What I like about this system is that it allows me to close any projects that don’t spark interest any more or that I finished, and as my main priorities are always visible first, I can focus on more important or relevant projects. I like to forget about projects, and then dig them back up with new eyes, to continue working on them; so I really like archiving what didn’t work and what I’ve already shipped.
Oh and even though some projects have their own git repositories, the whole parent folder is backed up to the cloud constantly.
I like this
Yay! I’m glad. It’s a system that works for me and ~5 years of design and dev projects, tests, exercises, courses, and crazy inventions. I would make a post about this, do you think it would be interesting or useful for other people?
Yes! 🙌
i read that your post about project structure and it's amazing
Thanks Devang!
Hi, which cloud backup do you use for that? Automatically?
I have iCloud set up to back up automatically.
However, I've noticed that iCloud really doesn't get along with Git. iCloud prefers large individual files, so having lots of small files constantly changing often takes up a lot of resources to back it all up.
To fix this, I have set up another folder, outside of iCloud, to keep my npm and Git projects. Then I have two ways of backing that up: GitHub (or similar) would be the obvious choice, but I prefer to keep most of my projects private (I'm just not so used to GitHub yet); every once in a while I zip up the project folder and move the zip to the main projects folder in iCloud. Then it backs up automatically as one large file.
I'm still figuring out the backup system. My next plan is to try out Dropbox, see if it gets along with Git. Otherwise, I might as well just get the projects onto GitHub. I'm not sure yet; but for now, this system works for me! :)
Thanks for your reply.
I am also figuring out a good way to use github / cloud backup.
With github, you have to really pay attention to your .gitignore, but you already knew that :)
Also, github private repos are free now;)
I liked AWS S3 for full back ups. S3 Sync maintains all the git goodness.
By the way, I made a whole post about this in case you're interested!
How I manage my projects, folders, and files
Cécile Lebleu ・ Jun 18 '19 ・ 4 min read
Awesome. GitLab has private repos, or if you don't want something like GitHub / GitLab, try out Keybase, which has an encrypted filesystem (online only, doesn't synch like iCloud or Dropbox) and git integration. They use AWS for their backing store, currently 250G I think
keybase.io/docs/git/index
I try to go fairly flat with my folder structure. One big folder called
dev
, which covers pretty much anything. Each folder therein usually maps to a git repo.Same approach. My folder is named
~/projects/
instead.Ben, I am curious about "maps to a git repo". Does the folder contain symlinks or was it a figure of speech?
By level of seriousness:
I use GitHub to store and organize my code i have a main branch and three test branches i use to test multiple ideas simultaneously. to test builds i use circleci and azure pipelines. to keep stuff organized i pin the repos i am working on and create projects and reminders in azure boards to keep me organized and up to date. make note and reminder with onenote, evernote , or something similar to keep track of what needs to be done and how to do it. also clean out unnecessary commits and TODOS. hope this helps!
In all computers I work on there is a
projects
folder in the user's folder:Then, I'd usually add a folder per project and as time has passed, many of them have been grouped into bigger initiatives named after two fictional companies I own
~/projects/devaspros-projects/
, etc.Every project would normally have a github/bitbucket repo. Even smaller ones. I never miss a change to practice git commit often.
In the end, those projects are used to be showcase when applying to other companies or to show teammates how something was done.
Finally, I also find myself making a Trello board per project to organize tasks, paste links for concepts/answers/solutions while working on those tasks, and comments to myself. Kind of a self-documented process.
Hi Desi, if this makes you feel better, I have a collection of projects spreaded between GitHub, Gitlab, different machines at home, pen drives... And some place I don't remember
Everything goes into a git repo on GitHub, public or private, and get its own page in Notion.
If it's client work I tend to use Azure DevOps which used to be called Visual Studio Team Services (VSTS) which was basically an online version of TFS (Team Foundation Server).
Yay history lessons.
I develop using virtual machines so everything from a project goes inside and doesn't mix with others.
I really suggest
/projects/
folder with Docker, but using VirtualBox-managed VM is fine too.Do you have any example like screenshots? I really need these kinds of environments.
I don't know if screenshots would help much. I use Linux as my primary workstation so I just did some googling to figure out how to install KVM(Virtualization software) then downloaded Ubuntu and installed it. I do my work inside the graphical environment with whatever tools I need at the given moment. doing it this way I start with a clean slate every time.
Okay, thanks. I need to do this.
one thing that does make it faster for me is that I created a virtual machine with all my most common tools...editors, browsers, compilers..etc and then I just clone it when I am setting up a new project.
Let me know if you get stuck on anything and I can try to help you through it.
Thanks :) I decided to use GNOME Boxes.
I installed it :)
I didn't want to deploy my projects to my machine.
Did you use it? If so, how can access a virtual machine IP from my machine.
Thanks :)
I have not but it looks to just be a front end for kvm. If you type ifconfig in your virtual machine you should be able to use the address to access it from your host machine.
Okay :) Thanks. I'll try :)
I have a below structure for managing my projects and resources:
workspace/
workspace/ebooks
workspace/projects
workspace/projects/personal
workspace/projects/experimental
workspace/projects/[projectName]
workspace/documents
workspace/ui
workspace/ui/icons
workspace/ui/images
workspace/tools-software
I think you can use tree structure to organize your job which it helps you find the project easily
Directory: