DEV Community

Mayank Chawdhari
Mayank Chawdhari

Posted on

Automatic Files Generator Python

Project Directory Creator

Overview

The Project Directory Creator is a Python-based application that allows users to create predefined directory structures for web development projects. The tool uses a GUI built with CustomTkinter to provide an intuitive interface for entering project names, selecting a directory, and generating the required folder and file structure with just a few clicks.

Features

  • CustomTkinter GUI: A clean and modern interface designed with CustomTkinter, making it easy to use and visually appealing.
  • Progress Feedback: A progress bar starts in red, turns green upon successful creation of the directory structure, and reverts to red when a new directory is selected.
  • Error Handling: User-friendly error messages if the project name is not entered or the directory is not selected.
  • Logs Area: A dedicated section to display logs of all directories and files created during the process.
  • Predefined Structure: Automatically generates a set of folders and files typical for web development projects.
  • Sqlite Integration: Sqlite for log saving

Installation

  1. Clone the repository:
   git clone https://github.com/BOSS294/project-directory-creator.git
   cd project-directory-creator
Enter fullscreen mode Exit fullscreen mode
  1. Install required packages: Make sure you have Python installed. Then, install the required packages:
   pip install customtkinter
Enter fullscreen mode Exit fullscreen mode
  1. Run the application:
   python directory_creator.py
Enter fullscreen mode Exit fullscreen mode

How to Use

  1. Enter Project Name: Provide a name for your project in the input field.
  2. Select Directory: Choose the base directory where the project structure should be created.

  3. Create Structure: Click the "Create Structure" button to generate the folders and files.

  4. Monitor Progress: Watch the progress bar and logs area for feedback on the structure creation process. This is how your structure will look like.

Directory Structure

The application creates the following structure:

ProjectName/
│
├── Assets/
│   ├── Accounts/
│   │   ├── Contents/
│   │   ├── Pages/
│   │   │   ├── login.php
│   │   │   ├── register.php
│   │   │   └── user-dashboard.php
│   │   ├── Processors/
│   │   ├── Scripts/
│   │   │   └── accounts.js
│   │   └── Styles/
│   ├── Admins/
│   │   ├── Contents/
│   │   ├── Pages/
│   │   │   └── admin-dashboard.php
│   │   ├── Processors/
│   │   ├── Scripts/
│   │   └── Styles/
│   ├── Extras/
│   │   ├── Connections/
│   │   ├── Documentations/
│   │   ├── Helps/
│   │   └── Updates/
│   └── Website/
│       ├── Contents/
│       ├── Images/
│       ├── Pages/
│       │   ├── about-us.php
│       │   ├── contact.php
│       │   ├── faqs.php
│       │   ├── privacy-policy.php
│       │   └── terms-conditions.php
│       ├── Processors/
│       ├── Scripts/
│       │   └── main.js
│       ├── Styles/
│       └── Videos/
└── index.php
Enter fullscreen mode Exit fullscreen mode

How to Contribute?

We welcome contributions from the community! If you would like to contribute to this project, please follow the steps below:

1. Fork the Repository

2. Clone Your Fork

  • Open your terminal or command prompt.
  • Clone your forked repository to your local machine:
  git clone https://github.com/yourusername/project-directory-creator.git
  cd project-directory-creator
Enter fullscreen mode Exit fullscreen mode

3. Create a Branch

  • Create a new branch to work on your feature or bugfix:
  git checkout -b feature/your-feature-name
Enter fullscreen mode Exit fullscreen mode

Replace your-feature-name with a descriptive name for your feature or bugfix.

4. Make Changes

  • Make the necessary changes to the codebase.
  • Ensure that your changes are well-documented and include comments where appropriate.
  • Test your changes to ensure that they work as expected.

5. Commit Your Changes

  • Once your changes are ready, stage them for commit:
  git add .
Enter fullscreen mode Exit fullscreen mode
  • Commit your changes with a descriptive commit message:
  git commit -m "Feat: description of your feature"
Enter fullscreen mode Exit fullscreen mode

6. Push to Your Fork

  • Push your changes to the branch on your forked repository:
  git push origin feature/your-feature-name
Enter fullscreen mode Exit fullscreen mode

7. Create a Pull Request

  • Navigate to the original Project Directory Creator repository on GitHub.
  • Click the "Pull Requests" tab and then click the "New Pull Request" button.
  • Select the branch with your changes and create the pull request (PR).
  • Provide a detailed description of your changes and why they should be merged.
  • Submit your pull request for review.

8. Address Feedback

  • Be responsive to any feedback or questions from the maintainers.
  • Make any necessary revisions by pushing additional commits to your branch.

9. Celebrate

  • Once your pull request is merged, your contribution will be part of the project! 🎉

Guidelines

  • Write clear, concise commit messages.
  • Ensure your code is well-tested and does not introduce any new bugs.
  • Be respectful and considerate in all interactions with the reviewers of your PR.

MongoDB Atlas runs apps anywhere. Try it now.

MongoDB Atlas runs apps anywhere. Try it now.

MongoDB Atlas lets you build and run modern apps anywhere—across AWS, Azure, and Google Cloud. With availability in 115+ regions, deploy near users, meet compliance, and scale confidently worldwide.

Start Free

Top comments (0)

Gen AI apps are built with MongoDB Atlas

Gen AI apps are built with MongoDB Atlas

MongoDB Atlas is the developer-friendly database for building, scaling, and running gen AI & LLM apps—no separate vector DB needed. Enjoy native vector search, 115+ regions, and flexible document modeling. Build AI faster, all in one place.

Start Free

👋 Kindness is contagious

Explore this insightful write-up embraced by the inclusive DEV Community. Tech enthusiasts of all skill levels can contribute insights and expand our shared knowledge.

Spreading a simple "thank you" uplifts creators—let them know your thoughts in the discussion below!

At DEV, collaborative learning fuels growth and forges stronger connections. If this piece resonated with you, a brief note of thanks goes a long way.

Okay