# Floriday Requires [Node.js](https://nodejs.org/en/) v15.14.0 or higher. The Floriday service project should perform the following tasks: 1. Create / mantain the table structure to allow the storage of the data provided by the Floriday API. This is done using the [Sequelize](https://sequelize.org/) ORM. 2. Query the Floriday API and store the data in the database. This is done using the [node-fetch](https://www.npmjs.com/package/node-fetch) package. 2.1. The data is requested every minute, but only the data that has changed is stored in the database. This is done using the [Sequelize](https://sequelize.org/) ORM and storing the data as it is received from the API, so it can be compared with the previous data. # EVERY UUID GENERATED IN THIS PROJECT IS PREPENDED W/ 'Vn-' BECAUSE OF A BUG IN SEQUELIZE ## Guidelines - In case a new model is created, it should follow the following structure: - /models - index.js - foo.js ### Foo.js ```javascript import { Sequelize } from "sequelize"; const bar = { barCharacteristicOne: { type: Sequelize.INTEGER, }, barCharacteristicTwo: { type: Sequelize.STRING, }, barCharacteristicThree: { type: Sequelize.STRING, }, }; export default (sequelize) => { const Foo = sequelize.define( "FDfoo", bar, { timestamps: false, freezeTableName: true, } ); return Foo; }; ``` ### Index.js ```javascript import foo from "./foo"; let models = { bar: foo(sequelize), }; ``` To install dependencies: ```bash npm install ``` To run: ```bash npm start # run the service npm dev-sync # run and create the db structure ``` ### .env file ```bash CLIENT_ID = floriday-client_id CLIENT_SECRET = floriday-client_secret STATUS = production_or_development # SEQUELIZE CONFIG DB_SCHEMA = edi DB_USER = root DB_PWD = root DB_HOST = localhost DB_DIALECT = mariadb ```