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.
-
Clone the repository
git clone https://github.com/muhrizky/efishery-test.git cd project-name
Alternative: extract the contents from the archive file.
-
Set up Odoo Follow Odoo's official documentation to install and configure Odoo. Ensure that Odoo is properly set up and running before proceeding.
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.
- Batch user import
- Background process
- Process status monitoring
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).
- Single login endpoint with JWT token
- Active login limit per user
- Single logout endpoint with JWT token
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
- Fetch endpoint from external resource
- IDR to USD currency conversion
- Caching for request performance
- Invalid JWT token handling
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.
- Endpoint for order transactions up to payment
- Endpoint to fetch sale order list
- Invalid JWT token handling
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.
- Complete documentation and usage guides will be provided later.
- Please contact LinkedIn or Email for any questions or issues.
- 1.0.0 (2024-05-25): Initial release.