diff --git a/.travis.yml b/.travis.yml
index f4bfbdc..de820b8 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,11 +1,20 @@
-language: python
-python:
- # PyPy versions
- - "pypy3" # currently Python 3.6.1, PyPy 7.1.1-beta0
-# command to install dependencies
-install:
- - pip install pytest
-# command to run tests
-script:
- - cd tests
- - pytest
+jobs:
+ include:
+ - language: python
+ python:
+ # PyPy versions
+ - "pypy3" # currently Python 3.6.1, PyPy 7.1.1-beta0
+ # command to install dependencies
+ install:
+ - pip install pytest
+ # command to run tests
+ script:
+ - cd tests
+ - pytest
+ - language: php
+ php:
+ - 7.4
+ script:
+ - cd /home/travis/build/ineelshah/SRIJAS/Code/Web_app
+ - php test.php
+
diff --git a/Code/Scrapper/Scrapper.py b/Code/Scrapper/Scrapper.py
index b551a4c..d0cc604 100644
--- a/Code/Scrapper/Scrapper.py
+++ b/Code/Scrapper/Scrapper.py
@@ -75,7 +75,7 @@ def get_job_description(keyword,no_of_jobs_to_retrieve,data):
searchquery="Software Engineer"
options = Options()
options.add_argument("--window-size=1920,1200")
- options.add_argument('--headless')
+ options.headless= True
options.add_argument('--nosandbox')
options.add_argument('--disable-dev-shm-usage')
browser = webdriver.Chrome(options=options, executable_path=ChromeDriverManager().install())
@@ -171,7 +171,7 @@ def get_job_description(keyword,no_of_jobs_to_retrieve,data):
port = 587
smtp_server = "smtp.gmail.com"
login = "srijas.alerts@gmail.com"
-password = "SRIJASGMAILPWD"
+password = ""
sender = "srijas.alerts@gmail.com"
for key in final_result:
if key in email_id_list:
diff --git a/Code/Web_app/mail_test.py b/Code/Web_app/mail_test.py
index c33771b..dccda6e 100644
--- a/Code/Web_app/mail_test.py
+++ b/Code/Web_app/mail_test.py
@@ -19,7 +19,7 @@
msg = MIMEMultipart()
msg['From'] = sender
msg['To'] = receiver
-msg['Subject'] = 'PHP Code Test Results'
+msg['Subject'] = 'Post deployment test Results'
body = message
msg.attach(MIMEText(body, 'plain'))
text = msg.as_string()
diff --git a/Code/Web_app/sample.pdf b/Code/Web_app/sample.pdf
new file mode 100644
index 0000000..c0e31a0
Binary files /dev/null and b/Code/Web_app/sample.pdf differ
diff --git a/Code/Web_app/sendData.php b/Code/Web_app/sendData.php
index 3230341..5586350 100644
--- a/Code/Web_app/sendData.php
+++ b/Code/Web_app/sendData.php
@@ -1,4 +1,5 @@
".$resume_pass."-".$user_pass."
";
- return array("resume"=>$resume_pass,"user"=>$user_pass,"params"=>$params,"dbConnection"=>$dbConnection);
+ return array("resume"=>$resume_pass,"user"=>$user_pass,"params"=>$paramsCheck,"dbConnection"=>$dbConnection);
}
$stmt->close();
@@ -313,6 +314,7 @@ function executer($inputName, $inputEmail, $inputJobTypeId, $target_file){
/**
* Here, the control is sent back to the index.php file
*/
+ob_end_clean();
echo ""; exit;
}catch(Exception $e){
diff --git a/README.md b/README.md
index 43836f0..be2277c 100644
--- a/README.md
+++ b/README.md
@@ -35,6 +35,9 @@ The links of the jobs that matches with the skills in your resume, will be sent
This is our submission for the Project for Software Engineering CSC 510 Fall 2021.
+## Infrastructure Description:
+![Infrastructure](https://github.com/ineelshah/SRIJAS/blob/main/images/Infrastructure.jpg)
+
## Database Schema:
![DB_Schema](https://github.com/ineelshah/SRIJAS/blob/main/images/DB_Schema.jpg)
diff --git a/docs/Database.pdf b/docs/Database.pdf
new file mode 100644
index 0000000..4d736cd
Binary files /dev/null and b/docs/Database.pdf differ
diff --git a/docs/Infrastructure.pdf b/docs/Infrastructure.pdf
index d2d7257..5fb44f5 100644
Binary files a/docs/Infrastructure.pdf and b/docs/Infrastructure.pdf differ
diff --git a/docs/Scraper_Service_linked-in_documentation.pdf b/docs/Scraper_Service_linked-in_documentation.pdf
new file mode 100644
index 0000000..ff51503
Binary files /dev/null and b/docs/Scraper_Service_linked-in_documentation.pdf differ
diff --git a/docs/docsproj1rubricComments.pdf b/docs/docsproj1rubricComments.pdf
new file mode 100644
index 0000000..3ac9d33
Binary files /dev/null and b/docs/docsproj1rubricComments.pdf differ
diff --git a/docs/proj1rubric.md b/docs/proj1rubric.md
index 2ff5622..4d2c408 100644
--- a/docs/proj1rubric.md
+++ b/docs/proj1rubric.md
@@ -2,6 +2,8 @@
# Project 1 Rubric
+Column B Total: 241.
+
| Notes|Self Assessment zero (none), one (a litte), two (somewhat), three (a lot)| Evidence|
|-----|--------|---------|
@@ -11,97 +13,96 @@
| Issues reports: there are **many**| 3|In GH (https://github.com/ineelshah/SRIJAS/issues) |
| issues are being closed|3 |Evidence in GH (https://github.com/ineelshah/SRIJAS/issues?q=is%3Aissue+is%3Aclosed)|
| DOI badge: exists |3 |In GH (https://github.com/ineelshah/SRIJAS/blob/main/README.md)|
-|Docs: doco generated , format not ugly | 0| Not yet implemented|
-|Docs: what: point descriptions of each class/function (in isolation) | 0| Not yet implemented|
-|Docs: how: for common use cases X,Y,Z mini-tutorials showing worked examples on how to do X,Y,Z| 2|The demo video shows this (https://github.com/ineelshah/SRIJAS/blob/main/README.md)|
+|Docs: doco generated , format not ugly | 3| In GH (https://github.com/ineelshah/SRIJAS/tree/main/docs)|
+|Docs: what: point descriptions of each class/function (in isolation) | 3| In GH (https://github.com/ineelshah/SRIJAS/tree/main/docs)|
+|Docs: how: for common use cases X,Y,Z mini-tutorials showing worked examples on how to do X,Y,Z| 3|The demo video shows this (https://github.com/ineelshah/SRIJAS/blob/main/README.md)|
|Docs: why: docs tell a story, motivate the whole thing, deliver a punchline that makes you want to rush out and use the thing| 3| The demo video and repository homepage (README) shows this (https://github.com/ineelshah/SRIJAS/blob/main/README.md)|
|Docs: short video, animated, hosted on your repo. That convinces people why they want to work on your code.|3 | SRIJAS_DEMO.mp4 as attached in the README.md in the repository. (https://github.com/ineelshah/SRIJAS/blob/main/README.md)|
| Use of version control tools| 3| Git is used thorougly in the project (https://github.com/ineelshah/SRIJAS)|
| Use of style checkers |3 |config files in GH showing your config (https://github.com/ineelshah/SRIJAS/blob/main/.github/workflows/style_checker.yml)|
| Use of code formatters. | 3|config files in GH showing your this formatter's config (https://github.com/ineelshah/SRIJAS/blob/main/.github/workflows/code_formatter.yml)|
| Use of syntax checkers| 3 |config files in GH showing this checker's config (https://github.com/ineelshah/SRIJAS/blob/main/.github/workflows/main.yml)|
-| Use of code coverage | 0| Not yet implemented|
+| Use of code coverage | 3| In GH (https://github.com/ineelshah/SRIJAS/blob/main/.github/workflows/code_cov.yml)|
| other automated analysis tools| 3|config files in GH (https://github.com/ineelshah/SRIJAS/blob/main/.github/workflows/close_as_a_feature.yml) and (https://github.com/ineelshah/SRIJAS/blob/main/.github/workflows/Respost.yml)|
-| test cases exist| 2| a lot of test cases exist but not covering all the functionalities. To be added soon.|
-| test cases are routinely executed| 2| Github actions and travis CI both are conducting regular tests.|
- | the files CONTRIBUTING.md lists coding standards and lots of tips on how to extend the system without screwing things up| 3| |
-| issues are discussed before they are closed| 3| Most discussions on whatsapp, in person, on issue comments, and over calls.|
-| Chat channel: exists| 3| Whatsapp chat channel exists.|
-| test cases:.a large proportion of the issues related to handling failing cases.|2 |if a test case fails, open an issue and fix it|
+| test cases exist| 2| a lot of test cases exist covering almost all the functionalities.|
+| test cases are routinely executed| 3| Github actions and travis CI both are conducting regular tests.|
+ | the files CONTRIBUTING.md lists coding standards and lots of tips on how to extend the system without screwing things up| 3| In GH (https://github.com/ineelshah/SRIJAS/blob/main/CONTRIBUTING.md)|
+| issues are discussed before they are closed| 3| Most discussions on whatsapp, in person, on issue comments, and over calls. (https://github.com/ineelshah/SRIJAS/issues)|
+| Chat channel: exists| 3| Preferred chat channel exists.|
+| test cases:.a large proportion of the issues related to handling failing cases.|2 |if a test case fails, open an issue and fix it (One of many examples: https://github.com/ineelshah/SRIJAS/issues/31)|
| evidence that the whole team is using the same tools: everyone can get to all tools and files| 3| https://github.com/ineelshah/SRIJAS/blob/main/requirements.txt |
-| evidence that the whole team is using the same tools (e.g. config files in the repo, updated by lots of different people)| 3| |
-| evidence that the whole team is using the same tools (e.g. tutor can ask anyone to share screen, they demonstrate the system running on their computer)| 3| |
-| evidence that the members of the team are working across multiple places in the code base| 3| |
-| short release cycles | 3||
-| Documentation provides clear overview of software and uses | 3| https://github.com/ineelshah/SRIJAS/blob/main/README.md|
+| evidence that the whole team is using the same tools (e.g. config files in the repo, updated by lots of different people)| 3| In GH (https://github.com/ineelshah/SRIJAS/graphs/contributors)|
+| evidence that the whole team is using the same tools (e.g. tutor can ask anyone to share screen, they demonstrate the system running on their computer)| 3| In GH (https://github.com/ineelshah/SRIJAS/graphs/contributors)|
+| evidence that the members of the team are working across multiple places in the code base| 3| In GH (https://github.com/ineelshah/SRIJAS/graphs/contributors)|
+| short release cycles | 3| It is difficult to show this in a small project but here is a release cycle example. (https://github.com/ineelshah/SRIJAS/releases)|
+| Documentation provides clear overview of software and uses | 3| Evidence in GH. https://github.com/ineelshah/SRIJAS/blob/main/README.md|
| Website and documentation clearly describe the type of user who should use your software | 3| https://github.com/ineelshah/SRIJAS/blob/main/README.md |
| Case studies to show how software is used by us | 3| https://github.com/ineelshah/SRIJAS/blob/main/README.md |
| Project name unique | 3| SRIJAS is an abbreviation for Smart Resume Interpreter and Job Alert System. |
| Project name free from trademark violations | 3| We verified that "SRIJAS" has not been trademarked by any python repository or any US company. |
-| Software available as a package that can be deployed without building it | | |
+| Software available as a package that can be deployed without building it | 0| Not yet implemented to be served as a package.|
| Software available for free | 3| Our repository is public and can be clone and used by anyone. https://github.com/ineelshah/SRIJAS|
| Source code publicly available to download, either as a downloadable bundle or via access to a source code repository | 3| |
-| Software hosted in an established, third-party repository likeGitHub (https://github.com) | 3| |
+| Software hosted in an established, third-party repository likeGitHub (https://github.com) | 3| Evidence on GH. (https://github.com/ineelshah/SRIJAS)|
| Documentation clearly available within your software | 3| https://github.com/ineelshah/SRIJAS/blob/main/README.md|
| Documentation includes a "quick start" guide, that provides a short overview of how to use your software with some basic examples of use | 3| https://github.com/ineelshah/SRIJAS/blob/main/README.md|
| Providing more extensive documentation, that gives a clear, step-by-step instructions on how to deploy and use our software | 3| https://github.com/ineelshah/SRIJAS/blob/main/README.md |
| Comprehensive guide to all your software’s commands, functions and options| 3| We have defined one use case of each command or function that can be performed by our code. |
| Troubleshooting information that describes the symptoms and step-by-step solutions for problems and error messages| 0| NA |
-| If your software can be used as a library, package or service by other software, do you provide comprehensive API documentation| 1| |
+| If your software can be used as a library, package or service by other software, do you provide comprehensive API documentation| 0| Not Applicable|
| Documentation stored under revision control with source code| 3| hhttps://github.com/ineelshah/SRIJAS/blob/main/README.md |
| Publishing the release history e.g. release data, version numbers, key features of each release etc. in your documentation | 3| https://github.com/ineelshah/SRIJAS/releases|
| Software describes how a user can get help with using your software | 3| https://github.com/ineelshah/SRIJAS/blob/main/README.md |
| Our documentation describes what support we provide to users and developers | 3| https://github.com/ineelshah/SRIJAS/blob/main/README.md |
-| Project has an e-mail address or forum that is solely for supporting users | Yes (3) | srijas.alerts@gmail.com |
-| E-mails to our support e-mail address are received by more than one person | Yes (3) | we all have the access credentials to the support email |
-| Project have a ticketing system to manage bug reports and feature requests | Yes (3) | https://github.com/ineelshah/SRIJAS/projects/1|
-| Project's ticketing system publicly visible to your users, so they can view bug reports and feature requests | Yes (3) | https://github.com/ineelshah/SRIJAS/projects/1|
-| Software’s architecture and design is modular | Yes (3) | |
-| Software uses an accepted coding standard or convention | Yes (3) | https://github.com/ineelshah/SRIJAS/blob/main/CODE_OF_CONDUCT.md,https://github.com/ineelshah/SRIJAS/blob/main/CONTRIBUTING.md|
-| | | |
+| Project has an e-mail address or forum that is solely for supporting users | 3| srijas.alerts@gmail.com |
+| E-mails to our support e-mail address are received by more than one person | 3| we all have the access credentials to the support email |
+| Project have a ticketing system to manage bug reports and feature requests | 3| https://github.com/ineelshah/SRIJAS/projects/1|
+| Project's ticketing system publicly visible to your users, so they can view bug reports and feature requests | 3| https://github.com/ineelshah/SRIJAS/projects/1|
+| Software’s architecture and design is modular | 3| Modular coding practices were used.|
+| Software uses an accepted coding standard or convention | 3| https://github.com/ineelshah/SRIJAS/blob/main/CODE_OF_CONDUCT.md,https://github.com/ineelshah/SRIJAS/blob/main/CONTRIBUTING.md|
| Software allows data to be imported and exported using open data formats | 3| Data is imported in the form of resume from the user and is exported in the form of email |
| Software allows communications using open communications protocols | 3| Yes. SMTP is used for mailing service|
-| Software cross-platform compatible | Yes (3) | The only thing needed is python,selenium and xampp. It will work on all operating systems that have python,selenium and xampp. |
-| Software adhere to appropriate accessibility conventions or standards | | |
-| Documentation adheres to appropriate accessibility conventions or standards | 3| |
-| Each source code releases a snapshot of the repository | | |
-| Releases are tagged in the repository | Yes (3) | https://github.com/ineelshah/SRIJAS/releases |
-| There is a branch of the repository that is always stable | Yes (3) | the main branch is always stable |
-| Back-up your repository | | |
-| Provide publicly available instructions for building the software from the source code | | |
-| Build, or package, the software using an automated tool | | |
-| Provide publicly-available instructions for deploying the software | | |
+| Software cross-platform compatible | 3| The only thing needed is python, selenium, PHP and xampp. It will work on all operating systems that have python, selenium, PHP and xampp. |
+| Software adhere to appropriate accessibility conventions or standards | 2| It somewhat does.|
+| Documentation adheres to appropriate accessibility conventions or standards | 3| As seen in documentation.|
+| Each source code releases a snapshot of the repository | 0| Not yet implemented.|
+| Releases are tagged in the repository | 3| https://github.com/ineelshah/SRIJAS/releases |
+| There is a branch of the repository that is always stable | 3| the main branch is always stable |
+| Back-up your repository | 3| We have local backups always available with us. Also, created a release package on zenodo.|
+| Provide publicly available instructions for building the software from the source code | 3| Evidence in GH. (https://github.com/ineelshah/SRIJAS/blob/main/README.md)|
+| Build, or package, the software using an automated tool | 3| Travis CI builds this. (https://app.travis-ci.com/github/ineelshah/SRIJAS)|
+| Provide publicly-available instructions for deploying the software | 3| Evidence in GH. (https://github.com/ineelshah/SRIJAS/tree/main/docs)|
| Documentation list all third-party dependencies | 3| https://github.com/ineelshah/SRIJAS/blob/main/requirements.txt|
| Documentation lists the version number for all third-party dependencies | 3| https://github.com/ineelshah/SRIJAS/blob/main/requirements.txt|
-| Software list the web address, and licences for all third-party dependencies and say whether the dependencies are mandatory or optional | | |
-| Download dependencies using a dependency management tool or package manager | | |
-| Tests that can be run after your software has been built or deployed to show whether the build or deployment has been successful | | |
+| Software list the web address, and licences for all third-party dependencies and say whether the dependencies are mandatory or optional | 0| Not yet implemented.|
+| Download dependencies using a dependency management tool or package manager | 3| We install using pip install.|
+| Tests that can be run after your software has been built or deployed to show whether the build or deployment has been successful | 3| Github actions and trais CI implement tests to check this.|
| Automated test suite for your software | 3| https://github.com/ineelshah/SRIJAS/tree/main/tests|
-| Framework to periodically (e.g. nightly) run your tests on the latest version of the source code | | |
+| Framework to periodically (e.g. nightly) run your tests on the latest version of the source code | 2| We test the source code on every push/commit to the souce code.|
| Using continuous integration, automatically running tests whenever changes are made to your source code | 3| https://github.com/ineelshah/SRIJAS/actions/workflows/unit_test.yml |
| Test results publicly visible | 3| https://github.com/ineelshah/SRIJAS/actions/workflows/unit_test.yml |
-| Manually-run tests documented | | |
-| Project has resources (e.g. blog, Twitter, RSS feed, Facebook page, wiki, mailing list) that are regularly updated with information about your software | | |
+| Manually-run tests documented | 2| Somewhat test cases are documented. Can be found in the tests directory.|
+| Project has resources (e.g. blog, Twitter, RSS feed, Facebook page, wiki, mailing list) that are regularly updated with information about your software | 0| Not yet implemented.|
| Documentation states how many projects and users are associated with your project | 3| https://github.com/ineelshah/SRIJAS/graphs/contributors |
-| Provide success stories on your website | | |
+| Provide success stories on your website | 0| Not yet implemented.|
| Listing the important partners and collaborators in our documentation | 3| https://github.com/ineelshah/SRIJAS/graphs/contributors |
-| Listing the project's publications on our website or link to a resource where these are available | | |
-| Listing third-party publications that refer to the software on our website or link to a resource where these are available | | |
+| Listing the project's publications on our website or link to a resource where these are available | 1| No publications yet.|
+| Listing third-party publications that refer to the software on our website or link to a resource where these are available | 0| Not applicable.|
| Users can subscribe to notifications to changes to your source code repository | 3| Each contributor gets an email when any issues they are assigned gets an update. |
-| Since the software is developed as an open source project (and, not just a project developing open source software), do we have a governance model | | |
-| Do we accept contributions (e.g. bug fixes, enhancements, documentation updates, tutorials) from people who are not part of your project? | | |
+| Since the software is developed as an open source project (and, not just a project developing open source software), do we have a governance model | 0| No governance model yet.|
+| Do we accept contributions (e.g. bug fixes, enhancements, documentation updates, tutorials) from people who are not part of your project? | 3| Yes we have not closed this project to accept only contributors to add to the project. It is open source and anyone can contribute.|
| Do you have a contributions policy | Yes (3) | https://github.com/ineelshah/SRIJAS/blob/main/CONTRIBUTING.md |
| Is your contributions' policy publicly available? | Yes (3) | https://github.com/ineelshah/SRIJAS/blob/main/CONTRIBUTING.md |
-| Do contributors keep the copyright/IP of their contributions | | |
-| Website and documentation clearly states the copyright owners of your software and documentation | | |
-| Do each of your source code files include a copyright statement | | |
+| Do contributors keep the copyright/IP of their contributions | 0| The contributors do not keep any copyright since this is open source code.|
+| Website and documentation clearly states the copyright owners of your software and documentation | 2| The github page describes contributors clearly.|
+| Do each of your source code files include a copyright statement | 0| Not yet implemented.|
| The website and documentation clearly state the licence of your software | 3| https://github.com/ineelshah/SRIJAS/blob/main/LICENSE |
| Software released under an open source licence | Yes (3) | https://github.com/ineelshah/SRIJAS/blob/main/LICENSE |
| Software released under an OSI-approved open-source licence | Yes (3) | https://github.com/ineelshah/SRIJAS/blob/main/LICENSE |
-| Source code files include a licence header | | |
-| Recommended citation for your software | | |
-| Documentation includes a project roadmap (a list of project and development milestones for the next 3, 6 months) | | |
-| Documentation describe how the project is funded, and the period over which funding is guaranteed? | | |
-| Do you make timely announcements of the deprecation of components, APIs, etc. | | |
+| Source code files include a licence header | 0| Not yet implemented.|
+| Recommended citation for your software | 3| Evidence on GH. (https://github.com/ineelshah/SRIJAS/blob/main/CITATION.cff)|
+| Documentation includes a project roadmap (a list of project and development milestones for the next 3, 6 months) | 3| The GH readme.md has it. (https://github.com/ineelshah/SRIJAS/blob/main/README.md)|
+| Documentation describe how the project is funded, and the period over which funding is guaranteed? | 0| No funding recieved yet.|
+| Do you make timely announcements of the deprecation of components, APIs, etc. | 0| Not yet implemented.|
diff --git a/images/Infrastructure.jpg b/images/Infrastructure.jpg
index 819bfae..7ae2de7 100644
Binary files a/images/Infrastructure.jpg and b/images/Infrastructure.jpg differ
diff --git a/requirements.txt b/requirements.txt
index af8303b..387d434 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,14 +1,62 @@
-selenium
-time
-MIMEMultipart
-MIMEText
-gaierror
-smtplib
-pytest
-sys
-mysql
-json
-socket
-pymysql
+appdirs==1.4.3
+attrs==19.3.0
+Automat==0.8.0
+blinker==1.4
+certifi==2019.11.28
+chardet==3.0.4
+Click==7.0
+configobj==5.0.6
+configparser==5.0.2
+constantly==15.1.0
+crayons==0.4.0
+cryptography==2.8
+distlib==0.3.0
+distro==1.4.0
+entrypoints==0.3
+filelock==3.0.12
+httplib2==0.14.0
+hyperlink==19.0.0
+idna==2.8
+incremental==16.10.1
+Jinja2==2.10.1
+jsonpatch==1.22
+jsonpointer==2.0
+jsonschema==3.2.0
+keyring==18.0.1
+launchpadlib==1.10.13
+lazr.restfulclient==0.14.2
+lazr.uri==1.0.3
+MarkupSafe==1.1.0
+mysql-connector-python==8.0.26
+netifaces==0.10.4
+oauthlib==3.1.0
+pexpect==4.6.0
+protobuf==3.18.0
+pyasn1==0.4.2
+PyHamcrest==1.9.0
+PyJWT==1.7.1
+pymacaroons==0.13.0
+PyMySQL==1.0.2
+PyNaCl==1.3.0
+pyOpenSSL==19.0.0
+pyrsistent==0.15.5
+pyserial==3.4
+pytest==6.2.5
+PyYAML==5.3.1
+requests==2.22.0
+requests-unixsocket==0.2.0
+SecretStorage==2.3.1
+selenium==3.141.0
+service-identity==18.1.0
+simplejson==3.16.0
+six==1.14.0
+ssh-import-id==5.10
+Twisted==18.9.0
+urllib3==1.25.8
+virtualenv==20.0.17
+wadllib==1.3.3
+webdriver-manager==3.4.2
+zipp==1.0.0
+