GeeksCAT / nem-per-feina

Job portal application using Django
https://nemperfeina.cat
MIT License
20 stars 19 forks source link
django django-rest-framework hacktoberfest jobs

banner

stars forks watchers translation translation

Nem per feina

Nem per feina is an open source project promoted by GeeksCat association for Hactoberfest 2020 event.

Show your support by 🌟 the project!!

The project

The objective of this hackathon is to launch a job portal website where tech community can find curated job opportunities from local companies.

We forked the open source project django-job-portal (See demo 1, demo 2) and use it as a baseline.

Deployment

Kubernetes deployment

To deploy to a k8s cluster see the k8s manifests

Contributing

Nem per feina is a collaborative effort where everybody is more than welcome to contribute, no experience is required!

Have a look at CONTRIBUTING.md file that describes the process to submit a contribution, and come say hi πŸ‘‹πŸ‘‹ to GeeksCat slack where most contributors hang out.

Tech stack

Setup backend development environment

Dockerized environment

If you wish to use a dockerized development environment, you can easily do so by following these steps:

  1. Add .env file:

    cp .env.dev.sample .env

  2. Start local development environment:

    make start

    Or, if you wish to run in detached mode:

    make serve

  3. Execute tests:

    make test

  4. To see all available options:

    make help

Development with docker dev environment

Once the environment is up and running, you can modify the project files and the Django auto-reload will pick up your changes in the container.

To stop the dockerized development environment use:

CTRL+C or make stop if you run in detached mode.

Executing database migrations

The app container runs database migrations at every startup, so simply restart the app server with

make restart c=app

Changing requirements file

If during development you need to change the requirements.txt file you'll also have to rebuild the container:

  1. Build images again with make buildor make build c=app// or c=test

  2. Stop and remove your environment with make restart. Even though continers are removed, your database volume will be preserved.

Recreate database

If you want to recreate the database:

  1. Delete everything including volumes with make purge

  2. Restart everything with make up (or make server for detached mode)

Local environment

Install

  1. Create a virtual environment

    virtualenv venv

    Or

    python3.8 -m venv venv

  2. Activate it

    source venv/bin/activate

  3. Install the packages in the virtual env:

    pip install -r requirements.txt

  4. Add .env file.

    cp .env.dev.sample .env

Run

1.With the venv activate it, execute:

`python manage.py collectstatic`

Note : Collect static is not necessary when debug is True (in dev mode)

  1. Create initial database:

    python manage.py migrate

  2. Load demo data (optional):

    python manage.py loaddata demo

  3. Run server:

    python manage.py runserver 0.0.0.0:8000

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Xavi TorellΓ³

πŸ’¬ πŸ’» πŸ“– πŸ“‹ πŸ€” πŸš‡ πŸ§‘β€πŸ« πŸ“† πŸ‘€

Jordi Bagot Soler

πŸ’¬ πŸ’» πŸ“– πŸ“‹ πŸ€” πŸš‡ πŸ§‘β€πŸ« πŸ“† πŸ‘€

Francesc ArpΓ­ Roca

πŸ’¬ πŸ› πŸ’» πŸ“– πŸ“‹ πŸ€” πŸ§‘β€πŸ« πŸ“† πŸ‘€

David Asensio CaΓ±as

πŸ’¬ πŸ› πŸ’» 🎨 πŸ“– πŸ“‹ πŸ€” πŸ§‘β€πŸ« πŸ‘€

Victor

πŸ’» πŸ“– πŸ“‹ πŸ€” πŸ‘€

dbf

πŸ’» πŸ‘€

Ytturi

πŸ’» πŸ€” πŸš‡ πŸ‘€

Didac Guillen

πŸ’» πŸš‡

xdiume

πŸ’»

Xavier Marquès

πŸ’»

Manuel Castellin

πŸ’» πŸš‡ πŸ‘€

Oriol Piera

πŸ’»

Franc Rodriguez

πŸš‡

dani herrera

πŸ’»

Marc Casamitjana Montseny

πŸ’»

lluisd

πŸ’»

Eudald Dachs

πŸ’»

Eric Massip

πŸ’» πŸš‡

This project follows the all-contributors specification. Contributions of any kind welcome!