Code Monkey home page Code Monkey logo

job's Introduction

This repo hosts everything related to working at ivelum, including our public wiki, the code challenges that we use in our job interviews, and the job.ivelum.com source code.

Wiki

The wiki covers a wide range of topics, including our work processes, our technologies used, preferred communication style, employee benefits, etc. Available in two languages:

Contact us at [email protected]

Code challenges

If you'd like to complete one of the code challenges and send us your solution, please apply for the corresponding position first at job.ivelum.com.

job.ivelum.com source code

The instructions below describe how to work with the jobs site source code. Key technologies used:

  • Frontend: Gatsby.js, React, CSS modules, SCSS;
  • Production: AWS, S3, CloudFront, Lambda;
  • Deploy automation: CloudFormation, GitHub Actions, Python scripts;
  • Linters: ESLint, Stylelint, Flake8, isort.

Start your development environment

  1. Clone the repository:

    $ git clone [email protected]:ivelum/job.git
  2. Make sure that you have Node v15 or later and Yarn v1.x installed on your machine. Check the versions as:

    $ node -v
    v15.14.0
    
    $ yarn --version
    1.22.10
  3. Install the JS dependencies with Yarn:

    $ yarn
  4. Start the development server. If you're using a JetBrains IDE, such as WebStorm or PyCharm, you can use the shared Run/Debug configuration that is included in the repo. Alternatively, start it from the command line:

    $ yarn start

    The command above starts the development server in the "watch" mode, automatically updating the build as you change the source code. The source code is located in the src folder and is based on Gatsby.

Codestyle checks

Before pushing your work to the repo, please make sure that your changes pass the code style checks. We use ESLint for JavaScript/React code and Stylelint for SCSS. How to run the checks locally:

$ yarn eslint

$ yarn stylelint

Pre-commit hooks for codestyle

We strongly encourage you to add the code style checks in your local Git pre-commit hook. Here's how to do this:

  1. create a file .git/hooks/pre-commit if it doesn't exist yet;

  2. open this file for editing and add the following line:

    yarn eslint && yarn stylelint
  3. make the file executable:

    $ chmod +x .git/hooks/pre-commit

Voila, now codestyle checks will run automatically before every commit on your machine.

Deploy to production

Any push to the master branch in this repo triggers an automated deployment to production on AWS, which typically takes ~2 minutes plus a minute or two for the CloudFront cache to clear. You can watch the progress and build status on the Actions tab.

Please note that we run linters before the build, so the build will fail if the code doesn't pass Codestyle checks.

Working with Python sources

Python is used for deploy scripts and the lambda function, which is responsible for the job applications form processing. If you need to modify these parts:

  1. Make sure that you have Python v3.9+ installed:

    $ python --version
    Python 3.9.7
  2. Install the Python dependencies:

    $ pip install -r requirements.txt
  3. Breathe normally and work with the source code. When you're ready to push your changes to the repo, please check the Python code style and fix any problems reported:

    $ flake8 . && isort . 

License

The job.ivelum.com source code is licensed under the MIT license. All materials in Wiki, code challenges, and public website texts are licensed under CC BY 4.0.

job's People

Contributors

aobcvr avatar dependabot[bot] avatar devbis avatar ekaterinaevseeva avatar enescala avatar geyser avatar kalexandra avatar kreades avatar mattdodsonenglish avatar nebolsinp avatar oileb avatar sdfsdhgjkbmnmxc avatar stebunovd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.