Skip to content
Tibor Simon edited this page Jun 14, 2016 · 4 revisions

projects

Use Cases

Abbreviations

  • Projects Config File - global configuration file located in the users home directory (~/.prc)
  • Projects Home - the directory that contains all projects' repository
  • Project Selector Window - terminal based GUI that provides fast project selection
  • Fuzzy Search - search mechanism that tries to provide the closest match result to the input keyword
  • Smart Index Selection - selects the first unambiguous decimal input

UC01 - Navigating to a project from anywhere

UseCaseStatus

User decides to work on a project, but the current path isn't the desired project's path.

Old solution

cd ~/projects_home/some_project

For this command the User has to know what is the Project Home directory, and what is destination project's directory name. Even with auto completion, it could take up several seconds.

New solution

p

This command will bring up the Project Selector Window where the User can select from the existing projects using

  • Fuzzy Search by starting to type the name of the project
  • Smart Index Selection by typing the index of the project

The Project Selector Window will appear if the current path is

  • outside the Projects Home directory
  • in the Projects Home root directory

The Projects Home directory's path is loaded from the Projects Config File (~/.prc) located in the users home directory. The default path is ~/projects.

UC02 - Initializing freshly cloned project

UseCaseStatus

User wants to initialize the cloned project with the most minimal effort. It would be nice if the external library import and installation, initial compilation and test suite running can be triggered with one command.

UC03 - Getting high level documentation about the project and the commands

UseCaseStatus

UC04 - Quick overview of the available commands

UseCaseStatus

UC05 - One command multiple alternatives (shortenings)

UseCaseStatus

UC06 - Command dependencies

UseCaseStatus

UC07 - Getting high level documentation about the project and the commands

UseCaseStatus

UC08 - Global variables across all scripts

UseCaseStatus

UC09 - Namespace in Projectfiles

UseCaseStatus

UC10 - Customizable recursive walk order with continue and ignore option

UseCaseStatus