Code Monkey home page Code Monkey logo

backend's Introduction


جاب‌گای چیست؟

اونجا وضعیت چطوریه؟ یه سوال به همین کلیت و ابهام

معمولا وقتی برای یه شرکت رزومه می‌فرستیم این سوال کلی و بزرگ برای همه پیش میاد.اونجا وضعیت چطوریه؟!

دونستن تجربه‌های دیگران از کار یا مصاحبه تو شرکتای مختلف می‌تونه به همه کمک کنه به خود سازمان که بازخوردها رو مشاهده کنه به کارجوها که با چشم باز تصمیم بگیرن به نیروهای فعلی که حواسشون رو جمع کنن و ...

وجود سایت‌هایی مثل جاب‌گای باعث میشه اتفاقات ناخوشایند فعلی تو اتاق در بسته مصاحبه کمتر بشه.

همه می‌دونیم تو اتاق مصاحبه ممکنه چه اتفاق‌هایی بیوفته.

از طرف دیگه انتشار تجربه‌ها باعث میشن شرکت‌های حرفه‌ای از غیرحرفه‌ای تمایز پیدا کنن.

فقط یه مساله می‌مونه اونم این که آیا کسایی که تجربه می‌نویسن صادق هستن؟

خب نمیشه به همه اعتماد کرد شاید کسی غرض‌ورزی داشته باشه

شاید رقبا بخوان چهره شرکتو مخدوش کنن. ولی به هر حال هستن کسایی که صادقانه می‌نویسن و شاید این دو گروه یه حد اعتدالی ایجاد کنن.

خوبه که به جای پراکنده‌نویسی و غرغر کردن بیاییم واقع‌گرایانه و شفاف تجربه مصاحبه یا کاری رو بنویسیم بالاخره یه جایی این چرخه معیوب شکسته میشه

خلاصه:

بازگو کردن تجربه = شفافیت

Job Guy Backend

Contribution

Job Guy development depends on your green codes :)

You could also support us financially by visiting https://jobguy.work/donate

For first open source contributers:

  1. Pick an issue, or create an issue if there is no issue related to the job you want to do.

  2. Mention yourself in that issue so other developers know that there is a developer on that issue.

  3. Fork code for your github account

  4. Pull it to your local system

  5. Create a new branch about your issue

  6. After coding and committing the changes, push it to your github account repo.

  7. Create a PR with develop branch, add description about your fix and the related issue if needed.

For openning pull requests you have to send PR's to develop branch.

Reset database

sudo su postgres ->
 psql ->
  DROP DATABASE jobguydb; ->
    CREATE DATABASE jobguydb OWNER jobguy; ->
     run create data api

OAUTH

GOOGLE -> https://console.developers.google.com/apis/credentials

Data test

Use utilities/create_initial_data API for creation data test in system

Versioning

Set request header to:
    Accept: application/json; version=<your reuired version>

    example:
        Accept: application/json; version=1.0.1

API Documentaion

Jobguy uses swagger to generate api docs

you can see docs here

if you head to api link, you'll see this page.

this is the public API

public api screen

you can expand this parts and easily try them.

jobguy has more than these public endpoints.

if you want to access those endpoints, you need to authenticate.

to do so, expand the authnz part,and you'll see something like this:

auth view screen

follow these steps for authentication

  1. click on /authnz/login_email/ endpoint

  2. click on Example value box on right side, so the required body parameters will appear in data input, and fill it with your own data.

  3. after you click on Try it out!, you'll get a response (like following image)

token included response screen

  1. copy the token value, then click on Authorize button on top right of the screen, you'll see something like this:

auth popup screen

  1. fill the value input in this format: JWT YOUR-TOKEN (as you can see in above image) and then click on Authorize button.

that's it :)

now you're authorized.

after authorization, you'll see more endpoints like this:

after auth screen

backend's People

Contributors

amin3mej avatar amireshoon avatar imkarimkarim avatar lmn3x avatar mam-sys avatar navid2zp avatar sbabashahi avatar yazdanv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

backend's Issues

Review for Managers

سلام
وقت بخیر
به نظرم یچیزی جاش تو جاب گای خالیه، امکان ریوو گذاشتن برای مدیرهای هر سازمانه. چون همونطور که خودتون بهتر میدونید آدم ها مدیر ها رو ترک میکنن تا سازمان رو و مهمتر از دونستن راجع به سازمان اینه که شما راجع به مدیری که قراره باهاش کار کنید بدونید

Can't run on localhost(gunicorn & google oAuth)

Hi jobguy!
There is probably an issue with the repo running on localhost.
First of all, the repo is on production setting even in develop branch. but turning it to settings.development still doesn't solve the issue.
there are two ERRORs that I face when i try to run the project with this command : docker-compose up --build.
the dockerfile gets built successfully but here are the errors (related to gunicorn & google oAuth):
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>, 'Add GOOGLE_OAUTH_ID env variable, example: export GOOGLE_OAUTH_ID=123456'

Search in company domain

Some of the companies have different names and search to find their name is not possible.
Jobguy Discover Extension is using company names but if you can add a domain field in the search we can use both of them for exact search.

Example: Digikala's name is different on Jobinja.com.

Ban registering with fake 10 minutes email

We need some feature to reject or ban registering with emails that are fake for example: [email protected].

IMG-20210711-WA0001
We are open to any good suggestions from you. But an example suggestion is here:
Create a model with known emails, then use it as a white list when user want to register. Any domain that is not in the list can email admins. Admins can add a valid email domain to this white list.

This feature can help us to reduce spam reviews.

overriding save() method

hello guys, hope you are all fine
i faced an issue about overriding some of save() method in some models like Industry or Company
i think save() method in these models doesn't have all necessary parameters(just have force_update and force_update)

so i face with this error when try to create an instance of these models:

using error in save() override
i think we should pass all parameters save(self, force_insert=False, force_update=False, using=None, update_fields=None)
or save(self, *args, **kwargs)
am i right?
sorry if i disturb a lot

django.contrib.gis

hello
first of all thanks for this wonderful project
i started to read the codes of project and i found out that this project is using gis app but it is not added in the INSTALLED_APP
am i right?
so i decided to start my first contribution with this little issue
and spend more time to help, if i can
خیلی مخلصیم

Performance

Improve performance of company page

containing:
/public/company/{slug}/
/public/company/{slug}/interview/
/public/company/{slug}/review/
/public/company/{slug}/salary/
/public/company/{slug}/questions/

Test

Test for all apps and utils

Docker image layers and size reduction

Docker image has 26 layers which some of them can be combined together. Especially the package installation ones. Package caches can also be removed to further reduce the image size.

I'll make a pull request.

Unwatched instances (comment, question, answer)

Currently review and interview comments, company questions and answers are not under any process to check the contents.

For example:
Reviews and interviews have a field is approved, default is false, after creating and updating a message containing data about review or interview will send to telegram bot. Telegram bot will notify moderators and they will check contents and will decide to approve it or not. They check contents against the site rules.

We need a process to check contents of these instances as review and interview.

Suggested solution:
Add a boolean field named reported to these instances.
An API that from frontend instances could be reported by users.
Request data are id of instance and type of instance. Currently type of instance choices are review_comment, interview_comment, question and answer.
After reporting API called we could check if instance reported before or not by using reported field.
If it's not reported before we could send content of instance to telegram bot for moderators decision,
And we need an API like approving review and interviews from telegram to delete instance by moderators.

Any other suggestion?

Performance

Improve performance of /public/company/list/

Jobguy data

Due to Jobguy is down now and we (All developers) Know that jobguy tried his best to bring sight of understanding, but some people need to be in dark. I suggest that Jobguy data be public so users can add more reviews and maybe some one carry on what you started and not be stopped by people like this...

از اونجایی که جاب کای رسما اعلام کرده فعالیت نمیکنه و ما همه برنامه نویسان میدونیم که جاب گای همه تلاششو کرد تا به ما کمک کنه ولی بعضی از مردم نیاز دارن توی تاریکی قدم بزنند. من پیشنهاد میکنم(و جمعی دیگر توی توییتر) که دیتای جاب گای پابلیک بشه تا بقیه افراد نقد های خودشون رو همچنان اضافه کنند و شاید بعضی ها چیزی که شما شروع کردید رو ادامه بدید و توسط همچین آدم هایی متوقف نشه.

create_initial_data

hello friends
i was trying to use create_initial_data function to create test data on my system
but when the process comes to the Industry or Pros or Cons we face with 400 Bad Request
i found that the problem is because of logo data that we are sending to the server
because we have a function that check the existence of the logo and it raise ValidationError because the file does not exist physically
so i decided just to remove logo field data from requests that we are sending to the server(logo can be null) and problem solved
i am not sure that it is the best solution for this issue but if you confirm this i can send the changes
this is the changes photo:
logo changes
thanks again

Installing Geospatial libraries

hello again
i have found something about the Dockerfile
when i try to make a container it says that the gdal library is not installed
i think we should mention on the Dockerfile to install Geospatial libraries inside the docker container like gdal-bin and others dependencies
am i right?

Improve performance of updating with using update_field

Hello Friends
i was reviewing codes that i faced something

def register_user_with_email_and_password(email, password):

def change_user_password(user, password):

def open_auth_user_creator(email, first_name, last_name, profile_image):

in these methods we are changing profile data but we don't apply these changes to the database with user.profile.save() (we are just saving user changes)
is there any reason for this ?

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.