A program capable of signing in and attending meetings as per a fixed schedule on behalf of a person.
- Developed on Node.js v12 LTS
Developed in association with Cyborg NITR
- Attend meetings on MS Teams from hardcoded meeting details and credentials
- Add mocha and chai for unit testing
- Setup PM2 environment configration
- Create EXE (executable) files to control the program
- Timetable attach through CSV file
- Deciphering appropriate meeting if more than one exists
- Headless run
- GUI (WebApp) to feed timetable and other meeting details
- Expand beyond MS Teams
- ML based response system if name is called (Experimental)
- Node.js v12 or later (with NPM CLI)
- For Windows and MacOS: (Node.js and NPM)[https://nodejs.org/en/download/]
- For Ubuntu:
$ sudo apt install nodejs npm
- Git CLI
- For Windows, MacOS and Linux: (Git SCM)[https://git-scm.com/downloads]
$ git clone https://github.com/rutajdash/project-attendance.git
$ cd project-attendance
$ npm install
- Production
$ npm start
- Development
$ npm run dev
- Testing
$ npm run test
- Step 1: Fork the repository
- Step 2: Git Setup & Download
# Clone the repo
$ git clone https://github.com/<User-Name>/project-attendance.git
# Add upstream remote
$ git remote add upstream https://github.com/rutajdash/project-attendance.git
# Fetch and rebase with upstream/development
$ git fetch upstream
$ git rebase upstream/development
- Step 3: Create and Publish Working Branch
$ git checkout -b <type>/<issue|issue-number>/{<additional-fixes>}
$ git push origin <type>/<issue|issue-number>/{<additional-fixes>}
## Types:
# wip - Work in Progress; long term work; mainstream changes;
# feat - New Feature; future planned; non-mainstream changes;
# bug - Bug Fixes
# junk - Experimental; random experiemntal features; throwaway branch;
- On Task Completion, Step 4: Commit and push your work
# Ensure branch
$ git branch
# Fetch and rebase with upstream/development
$ git fetch upstream
$ git rebase upstream/development
# Add untracked files one by one
$ git add filename
# Commit all changes with appropriate commit message and description. Strcitly follow commit message standards.
$ git commit -m "your-commit-message" -m "your-commit-description"
# Fetch and rebase with upstream/development again
$ git fetch upstream
$ git rebase upstream/development
# Push changes to your forked repository
$ git push origin <type>/<issue|issue-number>/{<additional-fixes>}
## Creating the PR using GitHub Website
-
Step 5: Create the PR using GitHub Website
- Create Pull Request from /<issue|issue-number>/{} branch in your forked repository to the development branch in the upstream repository. Again, ensure the name follows commit standards and the description must detail the work done.
- After creating PR, add a Reviewer (Any Admin) and add yourself as the assignee
- Link Pull Request to appropriate Issue, or Project+Milestone (if no issue created)
- Do Not Merge the PR. That will be done by the reviewer.
-
After PR Merge, Step 6: Working repository cleanup
# Delete branch from forked repo
$ git branch -d <type>/<issue|issue-number>/{<additional-fixes>}
$ git push --delete origin <type>/<issue|issue-number>/{<additional-fixes>}
# Fetch and rebase with upstream/development
$ git checkout development
$ git pull upstream
$ git push origin
- Always follow commit message standards
- About the fork-and-branch workflow