diff --git a/README.md b/README.md new file mode 100644 index 0000000..866ac5f --- /dev/null +++ b/README.md @@ -0,0 +1,76 @@ +# Mini excel app +## _Small application covering the basic functionality of Excel_ + +The application is a SPA consisting of two screens +- Dashboard (Create new table or open saved) +- Excel (Excel table editing page) + + +Technologies used in this project: +- Typescript +- ES6+ +- SCSS +- Redux +- Webpack 5 +- Jest + + +## Implemented functionality +- Resize table rows/columns +- Navigation and selection of cells using the function keys (Ctrl, Shift, Arrows), or using the mouse +- Mathematical calculations in a formula +- Ability to add/remove columns via context menu (right mouse button) +- Changing cell style: size, font, alignment +- Saving to LocalStorage, also implemented the ability to delete certain tables + +## Installation + +Requires [Node.js](https://nodejs.org/) v16+ to run. + +Install the dependencies and devDependencies and start the server. + +```sh +npm install +``` + +For development run the command to create local webpack dev server + +```sh +npm run start +``` + +For build use +```sh +npm run build +``` + +For deploy edit deploy config file `configs/deploy/sftp-configs.js` +```sh +module.exports = { + config: { + host: 'host', + port: 'port', + username: 'username', + password: 'password', + }, + directory: 'path to directory' +}; +``` +and run +```sh +npm run deploy +``` + +Testing + +Run jest test by +```sh +npm run test +``` +or +```sh +npm run test-watch +``` +## License + +MIT diff --git a/configs/deploy/sftp-config.js b/configs/deploy/sftp-config.js new file mode 100644 index 0000000..1ffdeca --- /dev/null +++ b/configs/deploy/sftp-config.js @@ -0,0 +1,10 @@ +module.exports = { + config: { + host: 'host', + port: 'port', + username: 'username', + password: 'password', + }, + directory: 'directory' +}; + diff --git a/deploy-config.js b/deploy-config.js index ed6adc8..889dcf4 100644 --- a/deploy-config.js +++ b/deploy-config.js @@ -3,9 +3,9 @@ const path = require('path'); const SftpClient = require('ssh2-sftp-client'); const dotenv = require('dotenv'); -const { config } = require('./configs/deploy/sftp-config'); +const { config, directory } = require('./configs/deploy/sftp-config'); -const REMOTE_DIRECTORY = '/var/www/mysite/excel'; +const REMOTE_DIRECTORY = directory; const LOCAL_DIRECTORY = path.join(__dirname, 'dist'); const dotenvPath = path.join(__dirname, '..', '.env');