diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
new file mode 100644
index 00000000..272cbd70
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,38 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+Steps to reproduce the behavior:
+1. Go to '...'
+2. Click on '....'
+3. Scroll down to '....'
+4. See error
+
+**Expected behavior**
+A clear and concise description of what you expected to happen.
+
+**Screenshots**
+If applicable, add screenshots to help explain your problem.
+
+**Desktop (please complete the following information):**
+ - OS: [e.g. iOS]
+ - Browser [e.g. chrome, safari]
+ - Version [e.g. 22]
+
+**Smartphone (please complete the following information):**
+ - Device: [e.g. iPhone6]
+ - OS: [e.g. iOS8.1]
+ - Browser [e.g. stock browser, safari]
+ - Version [e.g. 22]
+
+**Additional context**
+Add any other context about the problem here.
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
new file mode 100644
index 00000000..bbcbbe7d
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,20 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+**Is your feature request related to a problem? Please describe.**
+A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+
+**Describe the solution you'd like**
+A clear and concise description of what you want to happen.
+
+**Describe alternatives you've considered**
+A clear and concise description of any alternative solutions or features you've considered.
+
+**Additional context**
+Add any other context or screenshots about the feature request here.
diff --git a/.github/workflows/close_as_a_feature.yml b/.github/workflows/close_as_a_feature.yml
new file mode 100644
index 00000000..6eca22b3
--- /dev/null
+++ b/.github/workflows/close_as_a_feature.yml
@@ -0,0 +1,14 @@
+name: Close as a feature
+on:
+ issues:
+ types: [labeled]
+
+jobs:
+ build:
+ permissions:
+ issues: write
+ runs-on: ubuntu-latest
+ steps:
+ - name: Close Issue
+ uses: peter-evans/close-issue@v1
+ if: contains(github.event.issue.labels.*.name, 'feature')
\ No newline at end of file
diff --git a/.github/workflows/code_cov.yml b/.github/workflows/code_cov.yml
new file mode 100644
index 00000000..5c6fd4b9
--- /dev/null
+++ b/.github/workflows/code_cov.yml
@@ -0,0 +1,35 @@
+name: Running Code Coverage
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ branches:
+ - main
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2
+ - name: Install Python 3.9.7
+ uses: actions/setup-python@v1
+ with:
+ python-version: 3.9.7
+ - name: Install dependencies
+ run: |
+ pip install pytest-cov
+ pip install -r requirements.txt
+ echo requirements installed
+ - name: Run the tests
+ run: |
+ cd src
+ python app.py &
+ sleep 5
+ cd ../test
+ pytest --cov=./
+ - name: Upload coverage to Codecov
+ uses: codecov/codecov-action@v1
+ with:
+ token: ${{ secrets.CODECOV_TOKEN }}
\ No newline at end of file
diff --git a/.github/workflows/code_formatter.yml b/.github/workflows/code_formatter.yml
new file mode 100644
index 00000000..08986fd5
--- /dev/null
+++ b/.github/workflows/code_formatter.yml
@@ -0,0 +1,29 @@
+name: Format
+on:
+ pull_request:
+ branches: [main]
+ paths:
+ - '**.py'
+jobs:
+ autoyapf:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@master
+ with:
+ ref: ${{ github.head_ref }}
+ - name: autoyapf
+ id: autoyapf
+ uses: mritunjaysharma394/autoyapf@v2
+ with:
+ args: --style pep8 --recursive --in-place .
+ - name: Check for modified files
+ id: git-check
+ run: echo ::set-output name=modified::$(if git diff-index --quiet HEAD --; then echo "false"; else echo "true"; fi)
+ - name: Push changes
+ if: steps.git-check.outputs.modified == 'true'
+ run: |
+ git config --global user.name 'PrakruthiSomashekar'
+ git config --global user.email 'prakruthi1796@gmail.com'
+ git remote set-url origin https://x-access-token:${{ secrets.GIT_TOKEN }}@github.com/${{ deekay2310/Simplii }}
+ git commit -am "Automated autoyapf fixes"
+ git push
\ No newline at end of file
diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml
index e559e1cb..ac6e7d71 100644
--- a/.github/workflows/python-app.yml
+++ b/.github/workflows/python-app.yml
@@ -33,4 +33,8 @@ jobs:
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pytest
run: |
+ cd src
+ python app.py &
+ sleep 5
+ cd ..
pytest
diff --git a/.github/workflows/style_checker.yml b/.github/workflows/style_checker.yml
new file mode 100644
index 00000000..69d7bd9d
--- /dev/null
+++ b/.github/workflows/style_checker.yml
@@ -0,0 +1,7 @@
+on: push
+name: Python Style Checker
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: andymckay/pycodestyle-action@0.1.3
\ No newline at end of file
diff --git a/.github/workflows/syntax_checker.yml b/.github/workflows/syntax_checker.yml
new file mode 100644
index 00000000..c6cb4a5b
--- /dev/null
+++ b/.github/workflows/syntax_checker.yml
@@ -0,0 +1,8 @@
+on: push
+name: Lint Python
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: cclauss/Find-Python-syntax-errors-action@master
\ No newline at end of file
diff --git a/.github/workflows/unit_test.yml b/.github/workflows/unit_test.yml
new file mode 100644
index 00000000..89dcc125
--- /dev/null
+++ b/.github/workflows/unit_test.yml
@@ -0,0 +1,26 @@
+name: Run Tests On Push
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ branches:
+ - main
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Python 3.9.7
+ uses: actions/setup-python@v1
+ with:
+ python-version: 3.9.7
+ - name: Install dependencies
+ run: |
+ pip install -r requirements.txt
+ echo requirements installed
+ - name: Run tests
+ run: |
+ cd test
+ python -m unittest test
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
index 07ac783f..babcfb0d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,7 @@
name: Testing
language: python
env:
- - CODECOV_TOKEN='13d7f7c4-84e7-48ab-b951-8257e4432983'
+ - CODECOV_TOKEN='18a8beea-4407-498f-8b15-990517519ac2'
os:
- linux
python:
@@ -16,6 +16,6 @@ install:
- pip install -r requirements.txt
- pip install requests
script:
- - flask run &
+ - flask run
- sleep 5
- - python -m unittest
+ - python -m unittest test
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3b88bc00..b927c083 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -53,3 +53,15 @@ Maintain the projects quality
Fix problems that are important to users
Enable a sustainable system for the projects maintainers to review contributions
+
+## Tips to Extend
+
+Check the Projects tab for TO-DO list and pick the feature you find interesting to work on.
+
+Create a branch and implement the feature in Python and test it locally.
+
+Write corresponding test cases to ensure it is not breaking the existing system.
+
+Create pull request and request for the code review. Once the request is approved, merge to main.
+
+Any suggestions to improve the application is appreciated. Please request a feature/report bugs through issues section.
diff --git a/Function Description.md b/Function Description.md
new file mode 100644
index 00000000..027d57fb
--- /dev/null
+++ b/Function Description.md
@@ -0,0 +1,35 @@
+refresh_data()
+- This function loads all the data required to display the home page from file system
+
+getnewTaskID()
+- This function is used to generate a new unique TaskID. All our TaskIDs are alphanumeric strings of length 5. Eg. “AAAA2”, “2342V”. No special characters are used for obtaining TaskIDs
+- This function randomly produces a possible TaskID and checks if it is already in use. If the generated TaskID is in use, then we keep on generating random TaskIDs until we find one that is not in use
+
+homePage()
+- This function renders the home page
+
+login()
+- This function is used for login by the user
+- Using userID, passoword is validated and the user is directed to index
+
+send_email()
+- This function is used to send an email to user's email ID containing all tasks
+- The email is sent from simplii.reminder@gmail.com
+
+logout()
+- This function is used for login by the user
+- Using userID, passoword is validated and the user is directed to index
+
+signUp()
+- This function is used for registering new users
+- Details of new users are stored in the database and the user is automatically logged in
+
+delete_task_byID()
+- Deletes a task from the to-do list given its ID. This API moves a task from the TODO list to the COMPLETED list
+
+add_new_task()
+- User fills details of tasks on a form which gets added to the database
+- User can also see their tasks and their details on index page
+
+delete_task_byID()
+- This function deletes the tasks that are already stored by the user
diff --git a/README.md b/README.md
index 82770df3..7c94c5c8 100644
--- a/README.md
+++ b/README.md
@@ -3,28 +3,88 @@
[](https://zenodo.org/badge/latestdoi/404911045)
[](https://opensource.org/licenses/MIT)
-
-
-
[](https://github.com/psf/black)
[](https://app.travis-ci.com/UnnatiPrema/Simplii)
+[](https://codecov.io/gh/deekay2310/Simplii)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## Why schedule tasks on this app?
Do you feel that your basic task scheduling apps should also track your mood and suggest a task accordingly? We hear it. We are trying to build a tool that will enable fast execution of our tasks under any mood. `Simplii` parameterizes emotions, deadlines, task difficulty and moods to suggest a task to be done keeping you at your productive best.
+