Skip to content

Software project setup

Welcome to the Software project setup guide! This document will walk you through the steps to set up a new project, choose the right open-source license, and organize your project with the provided templates. Additionally an example is given for setting up CMake to build your software. Follow these steps to get started quickly.

Setting up a new project

The setup a new project follow these general steps:

  1. Clone the Template repository First clone this repository into your local development environment:

    git clone https://gitlab.tudelft.nl/imphys/sofware-project-setup.git
    cd software-project-setup
    
  2. Create your project directory Copy the project subdirectory template to your new project directory:

    cp -r project /path/to/your/new/project
    cd /path/to/your/new/project
    rm -rf .git
    

    Here’s a breakdown of key files in the template directory:

    • LICENSE: The open-source license you choose for your project (MIT, Apache 2.0, etc.).
    • README.md: Project overview and instructions. Customize this with your project’s specific details.
    • CODE_OF_CONDUCT.md: A code of conduct for maintaining a respectful and productive community.
    • CONTRIBUTING.md: Guidelines for contributing to the project. This includes instructions for creating issues, submitting merge requests, and following coding standards.
    • CHANGELOG.md: A log that documents the history of changes and updates to the project.
  3. Choose the right license type Determine which license type to select in License types and rename the appropriate LICENSE_<type> to LICENSE. Remove the other license files.

    mv LICENSE_<type> LICENSE
    rm LICENSE_*
    
  4. Initialise your project directory with Git This will create the Git environment in your project and set up Git with all the files in the project directory:

    git init
    git add .
    git commit -m "initial commit"
    
  5. Fill in the metadata In the README.md, fill out the project metadata, such as:

    • Project name
    • Author(s)
    • Date
    • Source repository link

    Also, check all other files for other metadata and fill out the appropriate fields.

  6. Commit all changes Make sure to commit your changes regularly! After important changes to your project, add the modified files and commit them to the Git repository with a meaningful message:

    git add . # only the changed files will be added
    git commit -m "Select license type and fill out metadata"
    

Your project is now ready to use.

Additional files and directories

Consider expending your project with more functionality or information after reading Other files. Be sure to take a look at .gitignore and version.txt.

Select building methods

Depending on the programming language used in the project, you can choose different methods of building your code. A small guide for using CMake is provided in CMake setup.

Checking project for publication

Before any software project is released for publication, it will be tested for documentation, building and usage by third party. For this a Markdown form has been created in line of this Software Project Setup. You can find this form here: Test form.

Change Log

Track all changes made to the software CHANGELOG

Contribution Guidelines

It would be much appreciated if you would like to contribute to this project. Please read CONTRIBUTING.md

Licensing

License information can be found here: LICENSE

Contact Information

Provide contact details:

  • Author(s): Ronald Ligteringen
  • Email Address: r.ligteringen@tudelft.nl
  • Institution/Department: Delft University of Technology, Applied Sciences, ImPhys