/job-insights

Web application developed with flask for analysis from a job data set.

Primary LanguagePython

capa

About

The implementation of this project aims to implement analysis from a set of data on jobs. Implementations will be embedded in a web application developed with Flask. Writing tests for implementing data analysis.


Learnings

  • Use Python's interactive terminal.
  • Use conditional and repeating structures.
  • Use built-in Python functions.
  • Use exception handling.
  • Perform file manipulation.
  • Write functions.
  • Write tests with Pytest.
  • Write your own modules and import them into other code.

Technologies Used

python flask


Usage

  1. Clone the repository

    • Use the command: git clone git@github.com:SamuelS00Job-insights.git.
    • Enter the repository folder you just cloned: cd Job-insights
  2. Create the virtual environment for the project python3 -m venv .venv && source .venv/bin/activate

  3. install the dependencies python3 -m pip install -r dev-requirements.txt

  4. to view in browzer

    run flask run

    go http://localhost:5000

Virtual environment

Python offers a resource called a virtual environment, where it allows your machine to run without conflicts, different types of projects with different versions of libraries.

  1. create the virtual environment
$ python3 -m venv .venv
  1. activate the virtual environment
$ source .venv/bin/activate
  1. install the dependencies in the virtual environment
$ python3 -m pip install -r dev-requirements.txt$

With your active virtual environment, the dependencies will be installed in this environment. When you need to deactivate the virtual environment, run the "deactivate" command. Remember to turn it back on when you get back to working on the project.

The dev-requirements.txt file contains all the dependencies that will be used in the project.

Project structure
Legenda:
๐Ÿ”ธArquivos que nรฃo podem ser alterados
๐Ÿ”นArquivos a serem alterados para realizar os requisitos.
.
โ”œโ”€โ”€๐Ÿ”ธREADME.md
โ”œโ”€โ”€๐Ÿ”ธDockerfile
โ”œโ”€โ”€๐Ÿ”ธdocker-compose.yml
โ”œโ”€โ”€๐Ÿ”ธdev-requirements.txt
โ”œโ”€โ”€๐Ÿ”ธrequirements.txt
โ”œโ”€โ”€ src
โ”‚   โ”œโ”€โ”€๐Ÿ”ธapp.py
โ”‚   โ”œโ”€โ”€๐Ÿ”ธbrazilian_jobs.py
โ”‚   โ”œโ”€โ”€๐Ÿ”ธcounter.py
โ”‚   โ”œโ”€โ”€๐Ÿ”นinsights.py
โ”‚   โ”œโ”€โ”€๐Ÿ”ธjobs.csv
โ”‚   โ”œโ”€โ”€๐Ÿ”นjobs.py
โ”‚   โ”œโ”€โ”€๐Ÿ”ธmore_insights.py
โ”‚   โ”œโ”€โ”€๐Ÿ”นroutes_and_views.py
โ”‚   โ”œโ”€โ”€๐Ÿ”ธsorting.py
โ”‚   โ””โ”€โ”€ templates
โ”‚       โ”œโ”€โ”€๐Ÿ”ธbase.jinja2
โ”‚       โ”œโ”€โ”€ includes
โ”‚       โ”‚   โ””โ”€โ”€๐Ÿ”ธnav.jinja2
โ”‚       โ”œโ”€โ”€๐Ÿ”ธindex.jinja2
โ”‚       โ”œโ”€โ”€๐Ÿ”ธjob.jinja2
โ”‚       โ””โ”€โ”€๐Ÿ”ธlist_jobs.jinja2
โ”œโ”€โ”€ tests
โ”‚   โ”œโ”€โ”€๐Ÿ”ธinit.py
โ”‚   โ”œโ”€โ”€๐Ÿ”ธconftest.py
โ”‚   โ”œโ”€โ”€๐Ÿ”ธmarker.py
โ”‚   โ”œโ”€โ”€ brazilian
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธinit.py
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธconftest.py
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธmocks.py
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”นtest_brazilian_jobs.py
โ”‚   โ”œโ”€โ”€ counter
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธinit.py
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธconftest.py
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธmocks.py
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”นtest_counter.py
โ”‚   โ”œโ”€โ”€ mocks
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธjob_1.html
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธjobs.csv
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธjobs_with_industries.csv
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธjobs_with_salaries.csv
โ”‚   โ”‚   โ””โ”€โ”€๐Ÿ”ธjobs_with_types.csv
โ”‚   โ”œโ”€โ”€ sorting
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธinit.py
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธconftest.py
โ”‚   โ”‚   โ”œโ”€โ”€๐Ÿ”ธmocks.py
โ”‚   โ”‚   โ””โ”€โ”€๐Ÿ”นtest_sorting.py
โ”‚   โ”œโ”€โ”€๐Ÿ”ธtest_flask_app.py
โ”‚   โ”œโ”€โ”€๐Ÿ”ธtest_insights.py
โ”‚   โ”œโ”€โ”€๐Ÿ”ธtest_jobs.py
โ”‚   โ”œโ”€โ”€๐Ÿ”ธtest_more_insights.py
โ”‚   โ””โ”€โ”€๐Ÿ”ธtest_routes_and_views.py
Linter

run python3 -m flake8


Tests

Run pyhton3 -m pytest