Skip to content

muhrizky/efishery-test

Repository files navigation

Project Efishery Test

Overview

This project includes several modules for user management, authentication, data fetching, and marketplace transactions. The project is built on Odoo 14 Community Edition and integrates various functionalities to enhance user experience and system capabilities.

Table of Contents

Installation

  1. Clone the repository

    git clone https://github.com/muhrizky/efishery-test.git
    cd project-name

    Alternative: extract the contents from the archive file.

  2. Set up Odoo Follow Odoo's official documentation to install and configure Odoo. Ensure that Odoo is properly set up and running before proceeding.

Usage

User Module

Short Description

The User Module utilizes OCA's Queue Job and Base Import Async modules. It streamlines bulk user creation, processing hundreds or more users seamlessly in the background without user intervention. Users can track progress and opt for notifications upon completion. This feature seamlessly integrates into Odoo's data import flow, introducing a new checkbox for deferred background job processing. For more details, consult the README documentation within the module, outlining the enhanced import workflow.

Key Features

  • Batch user import
  • Background process
  • Process status monitoring

Demo

Watch the demo video

Auth Module

Short Description

The Auth Module provides user authentication through a single login endpoint. This endpoint returns a JWT token containing private claims such as the user's email and role. The module also has the ability to limit active logins to only one browser tab/device (nice to have feature).

Key Features

  • Single login endpoint with JWT token
  • Active login limit per user
  • Single logout endpoint with JWT token

Demo

Watch the demo video

Fetch Module

Short Description

The Fetch Module allows users to retrieve data from external resources. The module provides an endpoint to fetch data from this resource Additional features include:

  • Adding a new price field in USD (converted from IDR) using a currency converter service
  • Caching to improve request performance
  • Handling invalid JWT tokens

Key Features

  • Fetch endpoint from external resource
  • IDR to USD currency conversion
  • Caching for request performance
  • Invalid JWT token handling

Demo

Watch the demo video

Marketplace Module

Short Description

The Marketplace Module provides functionality for order transactions up to payment. The module creates a sale order with a confirmed state, an invoice with a posted state, and a payment registered with an invoice in payment status.

Key Features

  • Endpoint for order transactions up to payment
  • Endpoint to fetch sale order list
  • Invalid JWT token handling

Demo

Watch the demo video

API Documentation

This API allows you to manage data efficiently. The Postman collection is included in this repository for your convenience; you can check the file efishery_test.postman_collection.json. For detailed online documentation and API endpoints, please visit the eFishery Skill Test API Collection on Postman.

Notes

  • Complete documentation and usage guides will be provided later.
  • Please contact LinkedIn or Email for any questions or issues.

Version

  • 1.0.0 (2024-05-25): Initial release.