Project for CS 546 Web Programming at Stevens Institute of Technology. We did a lot of pair-programming to finish this project.
Step 1: npm install
to install the neccessary modules
Step 2: Seed the database Run the following command:
node tasks/seed.js
ctrl + c
The collections "users" and "jobDescription" would be populated by running the above command.
users: {
“_id”: Unique Id
"userType": "employer/applicant to differentiate",
"username": "username with constraints",
"email": "validated email",
"password": "password in *** (for UI) and in letters for mongoDB"
"firstName": "applicant's first name"
"lastName": "applicant's last name"
"phoneNumber": "applicant's phone number"
}
In this applicationDocuments collection, the filename cannot be hashed due to the library (archiver) we are using to download all the documents as a zip. Archiver uses the original file name. Also as discussed, please only upload .doc .docx. and .pdf files, there is no backend code that restricts the uploads of other file types. Uploading files of other extensions wouldn't break the code though!
applicantDocuemnts.files: {
"userId": "Applicant's Id"
"jobId": "Array of documents Ids"
applicationTime: "Time application was submitted"
"jobName": "Job Title"
"applicationStatus": "Status of Application"
"fullName": "Name of Applicant"
"docs": "Array of document ids"
"extraContent": "Extra Comments"
}
The collection "application" cannot be populated because it contains the fields, "userId" and "jobId" which are generated by MongoDB in the collections "users" and "jobDescription" respectively.
The applicantDocument has two collections, "files"(applicantDocuments.files) and "chunks"(applicantDocuments.chunks) which is generated by gridFS which is a library in node.js. These collections are generated when a user uploads any documents.
Step 3: Run the web application
Run the following command: npm start
OR node app.js
Step 4: Log in as an applicant and apply for a job To login as an applicant:
username: john123
password: john@123
Step 5: Log in as a recruiter and either post a job or view applications To login as a recruiter:
username: mohit123
password: mohit@123
#Features
- Candidate Login
- Recruiter Login
- Job Posting
- Application Submission
- Viewing Application
- Application Status
#Group Members
- Mohit Bhagchandani
- Mana Satra
- Zhang Peng
- Christina Li
- Ekaterina Bevinova