omaranBazna / schedule

0 stars 1 forks source link

Schedule app for Detroit Mercy

This app was created to help UDM Mercy for schedule the classes in Engineering department

How to use GitHub for team management

1- Make sure all team members have access to the repo and are added as collaborators. You can add people directly when creating the repo or invite them later.

2- Use GitHub issues to track tasks, bugs, ideas, etc. Issues are a great way for team members to communicate and collaborate.

3- Use pull requests for code reviews. Require team members to submit PRs rather than pushing directly to master. This allows you to review code changes before they are merged.

4- Communicate frequently as a team on progress, what's next, blockers, etc. GitHub facilitates transparency.

Working rule:

Process steps:

1- Every sprint I will open a set of issues for the sprint, along with a brief description

2- Everyone should select issues evenly at a time after you select the issue

3- Once you create the branch, pull the repo correct branch into your local Visual Code Editor

4- After pulling it, create a new branch with the name [issuename-yourname]

5- Publish the branch to the GitHub repo 6- Made the required changes 5- Push the changes with a good commit message 6- Go to the GitHub repo and choose the new branch

7- Make a pull request from the new branch into the correct branch(suitable branch for the issue) 7- I will review the pull request, then we start having a conversation in the pull request conversation and I will request some changes

8- You do the changes on your local Visual Code Editor

9- push the changes again and make a new pull request and so on until I accept it

10- I will accept the "pull request" so the branch will be merged into the target branch

11- We keep doing this until all sprint issues are resolved

General rules:

1- make sure to read the issue description carefully

2- you are allowed to create issues if you think there is something missing

3- Create a new branch before you make changes

4- Make sure to push your work in small changes rather than doing all of it in one large change

5- Our Communication should be as much as possible through GitHub so that we document every single thing in time

6- Add a clear description to anything you do

7- Choose good and descriptive names/titles for your branches' names, pull request titles

8- Try to use editable versions of your work (for example word document instead of pdf) 9- Feel free to send me a WhatsApp message and I will respond as soon as I can

Current Sprint :

System development

Current Branch :

System development

Current Blackboard due:

Useful GitHub Commands:

Clone a repo:

git clone <repo_url>

Pull changes from a branch:

git pull origin <branch_name>

Create a new branch:

git branch <new_branch_name>

Move to a new branch:

git checkout <new_branch_name>

Check the current branch:

git branch

Push changes:

git push origin <branch_name>

How to contribute:

Explanation for first-time usage

Explanation for contribute next times

Testing plan :

Generating Input

step1: Functional testing ( to test if it is correct)

Evaluating the result:

Main measurement: after the schedule is done, how many courses are left with putting it on the schedule

Other measurements: how spread the courses are, professor's preferences, student's preferences

Create feedback mechanism:

to be done

Branches Map

https://drive.google.com/file/d/1rGzR8xYTPfmXAJHsi8H0P4W3NeOfKRvu/view?usp=sharing Branches_map drawio (1)

Technical tools used:

-Visual studio code

-GitHub

-Replit

-Express

-NodeJs

-SQLite3