A 'CRM' style application for discovering new companies who might hire you and keeping track of your job search through a set of helpful and informative tools.
I am a job hunter. I want a website that will help me:
-
Discover new companies who might hire me
-
Keep track of my job applications
Right now, there's just the basics of our platform
- The ability for users to populate companies, people and jobs,
- The ability to discover new jobs listed on outside resources via our /web/jobs API
- Informative pages on companies, people and jobs
- WebScrapers implemented to make contributing to the database as simple and painless as possible
- Local user authentication
- Application tracking system to make keeping a lid on your job hunt nice and easy
API/Server
- Python
- Flask
- Postgres/SQLAlchemy
- User Authentication with Flask-Security
- Web scraping of dynamic JavaScript pages conducted using Selenium
- Tested with Flask-Testing (a framework which extends on unittest) and nose
- Jobs API sourced from Indeed.com
Client
- AngularJS
- HTML5
- SCSS
- Tested with Jasmine, Karma and Protractor
Linking Client with API/Server
- JSON
- Initial testing using Postman, automation of testing enabled using nose
You will require nodeJS, python3 and postgres installed to make this application work.
Clone from github and move into directory.
$ git@github.com:michaellennox/jobber.git
$ cd jobber
Create and start your virtual environment.
$ pip3 install virtualenv
$ virtualenv venv
$ source venv/bin/activate
Install all dependencies and export required env vars.
$ npm run setup
$ export APP_SETTINGS=config.DevelopmentConfig
$ export
Create the database and build the schema
$ psql
>> CREATE DATABASE jobber_dev
>> \q
$ python3 manage.py build_db
Start the server.
$ npm start
You can now use the Job Huntr application locally by visiting http://localhost:8080/
- Integrate applicant tracking system with a mentor/coach system so coaches can contribute to a job hunter's search
- Implement superusers so modifications to data can be carried out via app instead of DB
- Extract external resources (scrapers and APIs) from main application to their own box, connect either via an API gateway or MQ system
- Expand scrapers with spiders which can carry out database population without human guidance
- Implement search functionality
Feel free to get involved! Our waffleboard is available at https://waffle.io/michaellennox/jobber