My Project (Week 6 Update)
For my last course at Oregon State University (OSU), I have been working on a website with my group. The current name of the site is called “Software Programming Quiz”. As a reminder, the purpose of our website is for employers to create quizzes for potential candidates for software engineering/development positions, send the quiz to the candidates, and analyze the results from the potential candidates (similar to SurveyMonkey). Our group has made significant progress and we are currently hosted on the Heroku which is a platform as a service (Paas) that enables our group to build, run, and operate our website via the cloud.
Setting up the Database (MongoDB)
I was tasked with setting up MongoDB and creating a model for a user that represents the employer. The properties for the model were name, email, password, and date. Then I created a database for the project and I named it “Software Programming Quiz”. After a database is created, a connection string for Node.js is created that can be used for the project. I added a file for the connection string, and I successfully connected our database to the website.
Creating the forms
Create the forms were pretty frustrating at first, but I was able to find the resources I needed to successfull create a form for the login and register pages. The register page add new employers to the user database, and the login lets the user login via email and passord. I initaillay thought this task was going to be easy, but there was much more that goes into developing a log in for a website. I had to create checks to make sure that the text entered to the forms were validated before the data is sent to the database.
After a successful log in, I also had to make sure the an authorized user was logged in to the site and check for the wrong email, wrong password, etc. I used middleware to check both the validation and authorization of the users for all the page routes in our website.
Next Steps
I want add more validatation checks like checking or Caps Lock, editing profiles after they are made, retreiving a password if forgotton, etc. But I thing these features will be added after we acccomplish the goals that are prioritized in assignmed requirements.