/GITS2.1-I.R.I.S

Primary LanguagePythonMIT LicenseMIT

GITS2.1 - I.R.I.S!

I R I S  - Ideal Repository for Software Projects (1)

GITS2.1 - I.R.I.S (Ideal ReposItory for Software projects)

GitHub codecov DOI GitHub issues GitHub closed issues Lines of code Github pull requests GitHub stars Respost - Write comment to new Issue event Style Checker and Prettify Code version Greetings Close as a feature GitHub contributors GitHub code size in bytes Build Status

Project Video :

IRIS.Demo.mp4

About GITS2.1 - I.R.I.S

"Your repo is your resume. But what is a good looking repo?"

So you want to start a Project on Github. Ever wondered what makes a project repository good? What makes your project stand apart when collaborating with multiple developers? What would ensure that your project is well documented and readable to other developers who might try to work on this in the future?

bash requirements.sh

Worry not. I.R.I.S is here.

I.R.I.S (Ideal ReposItory for Software projects) is a tool which can help developers align their repos as per the standards defined in Software Engineering.

You don't have to worry about missing a test case, or scratch your head on what more files or functionalities are needed to make your repository look good.

  1. Currently, this project cannot be run on Windows. You need to make use of WSL to work on this project in Windows

I.R.I.S streamlines your repository as per the Software Engineering Standards, so that your repository has all the necessary Structure to be called a "Good Repo".

I.R.I.S can be thought of a base repo to make sure your project repo fits the bill.

Video for Delta Features

VID-20211108-WA0001.1.1.1.mp4

Installation Setup

On Linux/MacOS Machines

  1. Clone GITS Repo

  2. From the root directory run the following command

    pip install -r requirements.txt
    
  3. Go to configurations directory and run the following command:

    If you are working on Linux system with a bash terminal or a Windows system using Windows subsystem for linux:

    bash project_init.sh
    

    If you are working on Linux system with a fish terminal:

    fish project_init.fish
    
  4. Source the bashrc file

    source ~/.bashrc
    

    Note: Open the .bashrc file in User home directory to make sure that the alias command does not have any white spaces in the path. If so, rename the directory to remove the white spaces and re-run the setup.

Installation for Windows

  1. Clone GITS Repo

  2. From the root directory run the following command

    pip install -r requirements.txt
    
  3. Currently, this project cannot be run on Windows. You need to make use of WSL to work on this project in Windows although this fix would only work for systems running Windows 10. If you are using another version of Windows, using a virtual machine might be preferred.

    Please refer this link to enable WSL : https://docs.microsoft.com/en-us/windows/wsl/install-win10
    

How to Contribute?

Please take a look at our CONTRIBUTING.md where we provide instructions on contributing to the repo and help us in enhancing the current video conferencing platforms.

Documentation

Functionalities Implemented

  1. Use custom commands to work with Git from your command line.
  2. Create Default files on startup according to the Stucture.
  3. Files will be auto generated with template to give the developers an idea on what needs to be filled. Also, the user is given a choice to add license in his repo from the list provided.
  4. Score Calculation to see how much the repo matches with the ideal repo structure.
  5. Created commands to show version of Git, count commits, list all custom created commands.
  6. Create a custom command to work with Git and make development fun.

Experimentation setup for Phase 2

(Please check the Projects Tab to see how you can make the project better)

This project aims to ease the developers efforts while working on their project repos. I.R.I.S makes their work easier and saves time by providing all the necessary default files in the required structure to ensure that the developers can focus on making their project better and not worry about the repository.

Here are few motivation points behind coming up with this idea:

  • Sometimes when you're working with different files and branches, there are way too many commands which need to be updated in an order. Using a custom command, which can do multiple commands at the same time in a specific order saves time and effort from the developer.
  • When working on one of the homeworks for the course, we realised the dearth in project repos which adhere to the standard structure.
  • Even if the Idea is good, developers miss out on making a good impression due to the inability to make the projects transferable and easily-usable.

To solve the issues described above, we came up with the project I.R.I.S that stands for Ideal ReposItory for Software projects.

Tasks list

You can checkout the Projects Tab in GitHub to see the upcoming tasks for the Project.

Delta for Phase 2

  • Initally , the software could only be implemented on MacOs or Linux Machines. Now we have made sure the commands can be executed on windows and that the software can be executed on windows platform as well.
  • Also made an executable to setup the project on command line for ease of use for the user.

Future Scope

  • Can add more git custom commands to improve quality of life.

Quantitative measures

Here are some measures that can help compare the results between traditional Git/Github Repo Creation and I.R.I.S

  1. The default files created as part of the repo creation.
  2. The structure followed for the default files.
  3. The default template followed for most files, so that even the most layman developer can ensure that his repo adheres to the Standard.

Team Members

This repository is made for CSC-510 Software Engineering Course at NC State University for Fall 2021.


Neel Shah

Parth Patel


Ameya Tathavadkar


Jay Shah


Harshil Shah

Made with love on GitHub.