Description
PlugAndPlayResume creates resumes optimized for specific job postings.
In order to make getting your dream job easier, our product will solve the job-hunter's problem of resume customization by giving them an adaptive webapp to identify their most relevant experience.
- To get started, open terminal and clone this repository:
git clone https://github.com/Tommi-Tsuruga/plug-and-play-resume.git- If you do not have Yarn installed on your machine, it can be installed easily by following the official documentation.
- Install the required dependencies by running:
cd plug-and-play-resume/frontend && yarn install- Create webpack bundles to run servers.
- Development -
yarn build:dev
- Production -
yarn build:prod
- Finally, we can run webpack-dev-server:
yarn dev-server- It should be serving the files to [http://localhost:3000][http://localhost:3000] now.
NOTE: The user interface is not rendered at this port because our dev-server's proxy is set to port 8000. We need it because everything will be served from Django's dev server which will be running on 8000. You can change the proxy setting by modifyingfrontend/webpack.config.js
.- Leave dev-server running, and open another tab in your terminal. Then, go back to project root with
cd ..
for the rest of operations.
- Install postgres by following this instruction.
- Open postgres program as root user:
- For macOS -
psql postgres
- Others -
sudo su - postgres
thenpsql
- Once you are in the console, create a database called plugandplay by running:
create database plugandplay;
- Also, create a user for this project with a password set to 'password'
create user plugandplayuser with password 'password';
- Now, let's make the user accessible to the database we just created:
Exit the console by typinggrant all privileges on database plugandplay to plugandplayuser;
\q
.
- We need python3 to build our project. You can download it from here.
- If pip is not installed on your machine, you can follow this instruction.
- At this point you should still be in the root directory. Let's create a python virtual environment by running:
python3 -m venv venv- To activate the environment, run:
You can always deactivate the environment bysource ./venv/bin/activate
deactivate
.- Install required dependencies to the virtual environment using pip:
pip3 install -r requirements.txt- We also need a nltk data called stopwords. We can download it in python console. Type
python3
in your shell and run:Exit the console by typing:>>> import nltk >>> nltk.download('stopwords')>>> exit()- We also need to create a file called .env to configure Django with user and database we created on postgres. Run:
cat >> .env << EOF DB_NAME=plugandplay DB_USER=plugandplayuser DB_PASS=password EOF- We are almost done with configuration.
Let's connect the database to Django by running:python3 manage.py makemigrations && python3 manage.py migrate
- Finally, to start django dev-server, run:
python3 manage.py runserverThe website should be running at [http://localhost:8000]
- Deploy to Aws Elastic Beanstalk or AWS lambda
.
├── README.md
├── accounts
│ ├── admin.py
│ ├── api.py
│ ├── apps.py
│ ├── models.py
│ ├── serializers.py
│ ├── tests.py
│ └── urls.py
├── frontend
├── listing
│ ├── admin.py
│ ├── api.py
│ ├── apps.py
│ ├── models.py
│ ├── serializers.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── manage.py
├── plug-and-play-resume
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── requirements.txt
└── resume
├── admin.py
├── api.py
├── apps.py
├── models.py
├── serializers.py
├── tests.py
├── urls.py
└── utils.py
.
├── admin.py
├── apps.py
├── models.py
├── package.json
├── src
│ ├── actions
│ │ ├── auth.js
│ │ ├── basicInfo.js
│ │ ├── educations.js
│ │ ├── experiences.js
│ │ ├── generated.js
│ │ ├── jobHistories.js
│ │ ├── listings.js
│ │ ├── messages.js
│ │ └── types.js
│ ├── app.js
│ ├── components
│ │ ├── Header.js
│ │ ├── NotFoundPage.js
│ │ ├── PlugResumePage.js
│ │ ├── accounts
│ │ │ ├── AccountFrom.js
│ │ │ ├── LoginPage.js
│ │ │ └── RegisterPage.js
│ │ ├── generated
│ │ │ ├── GeneratedDocument.js
│ │ │ ├── GeneratedList.js
│ │ │ ├── GeneratedListItems.js
│ │ │ ├── GeneratedStyle.js
│ │ │ └── ResumePage.js
│ │ ├── listings
│ │ │ ├── EditListingPage.js
│ │ │ ├── ListingForm.js
│ │ │ ├── ListingItems.js
│ │ │ ├── ListingPage.js
│ │ │ └── ListingSections.js
│ │ ├── profile
│ │ │ ├── ProfilePage.js
│ │ │ ├── basic-info
│ │ │ │ ├── BasicInfo.js
│ │ │ │ └── BasicInfoForm.js
│ │ │ ├── education
│ │ │ │ ├── AddEducation.js
│ │ │ │ ├── EditEducationPage.js
│ │ │ │ ├── EducationForm.js
│ │ │ │ ├── EducationList.js
│ │ │ │ └── EducationListItem.js
│ │ │ ├── experience
│ │ │ │ ├── AddExperience.js
│ │ │ │ ├── EditExperiencePage.js
│ │ │ │ ├── ExperienceForm.js
│ │ │ │ ├── ExperienceList.js
│ │ │ │ └── ExperienceListItem.js
│ │ │ └── job-history
│ │ │ ├── AddJobHistory.js
│ │ │ ├── EditJobHistoryPage.js
│ │ │ ├── JobHisotryListItems.js
│ │ │ ├── JobHistoryForm.js
│ │ │ └── JobHistoryList.js
│ │ └── utils
│ │ ├── DateRangeSelector.js
│ │ └── Loading.js
│ ├── lib.js
│ ├── reducers
│ │ ├── auth.js
│ │ ├── basicInfo.js
│ │ ├── educations.js
│ │ ├── errors.js
│ │ ├── experiences.js
│ │ ├── generated.js
│ │ ├── jobHistories.js
│ │ ├── listings.js
│ │ └── messages.js
│ ├── routers
│ │ ├── AppRouter.js
│ │ ├── PrivateRoute.js
│ │ └── PublicRoute.js
│ ├── store
│ │ └── configureStore.js
│ └── styles
│ ├── fontawesome-free
│ └── scss
│ ├── base
│ │ ├── _page.scss
│ │ └── _variables.scss
│ ├── components
│ │ ├── _buttons.scss
│ │ ├── _divider.scss
│ │ └── _loader.scss
│ ├── layout
│ │ ├── _form.scss
│ │ ├── _lists.scss
│ │ ├── _navbar.scss
│ │ └── _section.scss
│ └── styles.scss
├── static
│ ├── images
│ │ ├── favicon.png
│ │ └── loader.gif
│ └── index.html
├── template
│ └── index.html
├── tests.py
├── urls.py
├── views.py
├── webpack-stats.json
├── webpack.config.js
└── yarn.lock
- Aisha Khoja
- Keisuke Suzuki
- Tommi Ann Tsuruga