This project serves as a pre-assessment for future applicants of Odev Solutions. If you want to know more about the opportunities, please visit https://www.odevsolutions.com/jobs.
We expect applicants to have a foundational understanding of Odoo and Python. If you are new to Odoo (trust us, it's amazing), please check out the official website and the official developer documentation.
Basic Git knowledge is required. Here are some resources to help you get started: freeCodeCamp: The beginner’s guide to Git & GitHub, Git Immersion.
We use Docker for our development environment. Ensure Docker is installed on your machine by following this guide: Get Docker.
You should also be able to set up an Odoo container using the odoo:17 image. Refer to the usage guide on the page for detailed instructions.
This assessment involves creating a custom Odoo module for a simple library management system. An existing module in this repository can be used as a starting point. Refer to: library.
First, fork this repository and clone it to your local machine. Then add the repository in your Odoo instance's addons path.
Refer to the sample snippet below for quick setup:
# Run postgres container
docker run -d -v odoo-db:/var/lib/postgresql/data -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo -e POSTGRES_DB=postgres --name db postgres:15
# Clone your repository
git clone https://github.com/your-username/library.git
# Run odoo container
docker run -v ./library:/mnt/extra-addons \
--name odoo \
-p 8069:8069 \
--link db:db \
-t odoo:17
Note: If this snippet doesn't work for you, please refer to the official documentation for odoo Docker container.
Create a new module named library_extensions
. It should depend on the library
module.
This is where you will add your code for the other tasks.
Inherit the library.book
model and add an author_id
field.
- The
author_id
field should be aMany2one
field with theres.partner
model. - The
author_id
field should be required.
-
Create a new model named
library.book.category
. It should have aname
field.- The
name
field should be aChar
field. - The
name
field should be required. - The
name
field should be unique.
- The
-
Add a
category_id
field to thelibrary.book
model. It should be aMany2many
field with thelibrary.book.category
model. -
A list and form view should also be created for the
library.book.category
model. The view should be accessible from theLibrary > Book Category
menu. (You have to create a new menu item for this)
-
Update the
library.book
list view to display the following fields:author_id
category_id
-
Update the
library.book
form view to display the following fields:author_id
category_id
Now that you have completed the pre-assessment, you can continue to the Odev Solutions website and submit your application. Make sure your repository is public.
We will quickly review your submission and reach out to you for the next steps.
If you have any questions, contact us at admin@odevsolutions.com.