floriday/README.md

94 lines
1.8 KiB
Markdown

# 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.
## 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
# FLORIDAY SERVICE CONFIG
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
FORCE_SYNC = false
```