Skip to content

Latest commit

 

History

History
55 lines (35 loc) · 1.99 KB

Readme.md

File metadata and controls

55 lines (35 loc) · 1.99 KB

xfair-resume

A simple webapp used to collect resumes from xFair attendees, as well as provide a searchable list to employers.

Setup

Make sure you have brew, npm, node, bower, and mongodb installed.

  • Go here for brew.
  • Use brew install node to install node and npm.
  • Use npm install -g bower to install bower.
  • Use brew install mongodb to install mongodb.

Running locally

If it's your first time running the server, run npm run init, then bower install.

Then, when you want to start the server, run npm run start-services

To start the actual server, run npm start

After you're done running the server, run npm run stop-services

General Design

The homepage is a simple place where students can drop their resume. Upon dropping, it uploads their resume to the server, which then uploads it to Amazon S3(*).

Then, it generates a unique link through which students can edit their info. We collect the following pieces of information.

  1. Name
  2. Email
  3. Class year
  4. Major(s)
  5. Degree type (Bachelors, Masters, PhD)
  6. MIT ID Number

Only #6 is not viewable/searchable by employers. Employers can login to the server by visiting /employers, using the username and password specified in the environemnt variables(+).

Resume Export

Run export-resumes.sh to export all of the resumes in the system to a resumes.zip file. Leave this script running! Takes about 10 minutes on a fast connection.

Notes

(*) In development mode, things are uploaded to a mock s3 server called s3rver, which runs on your own computer.

(+) See the .env.base file for a list of loaded environment variables.

Upon running npm run init, it copies the base environment variable file to .env, which gets loaded by the runtime. DO NOT MAKE CHANGES TO THE .env.base FILE FOR LOCAL CONFIGURATIONS. Instead, make your changes in the .env file, which actually gets loaded by the application, and doesn't get commited.