KeikkaKaveri is a web app developed to assist temporary workers in their work.
KeikkaKaveri is developed by Metropolia in collaboration with various organizations for Työturvallisuuskeskus(TTK, the Centre for Occupational Safety).
The app is developed to fit/implement parts of the model provided by Tampereen teknillinen yliopisto(TTY, Tampere University of Technology), namely the three-way communication of relevant parties (agency, worker, customer business) and to display information relevant to all who need it.
Priorities for future development should revolve around the three-way-interface that includes the worker, their agency and the customer. The app should also continue to implement the TTY model.
Ideas for future development on frontend:
- Internationalization: Accessible in Finnish, Swedish and English. Translations soulld be checked also
- Personalization: Revamp the UI of the three-way-interface design to match the new design
- Databank: A full revamp of the databank according to designs
- Documentation: Generating (automated) documentation for the codebase
- Testing: Much of the project is not covered (reducers partly and only LogInForm.tsx and SignUpForm.tsx have been tested)
React/Redux and Material UI
Testing/Deployment: Jest & AWS
To run this project locally you need:
- Node.js (lts)
- Git
- Code editor of your choice (VSCode or IntelliJ IDEA recommended)
- Backend with MongoDB connection
You can install Visual Studio Code from here.
Start by downloading the zip file of this project from GitHub.
Or if you have Git installed
$ git clone https://github.com/Kestava-keikkatyo/innoFrontend.git
Run npm install
to install all necessary dependencies.
Run frontend locally by running the following commands:
cd (your_path)/innoFrontend
npm start
Frontend of the app is served by Amazon CloudFront content delivery network. Static files are hosted in Amazon S3 bucket. More detailed description of the architecture can be found in the project's Google drive folder.
To publish any changes to S3 bucket:
- Pull any recent changes from the main branch (
development
) - Create a new branch
- Make any necessary changes
- Commit changes
- Publish your branch
- Make a PR (Pull Request) and wait for the
Continuous Integration
action to run its course- If the action doesn't go through (fails at tests or build), check the details of the action and make changes accordingly
❗ Do NOT merge ifContinuous Integration
action fails ❗ - If the action goes through, merge the PR to main branch
- If the action doesn't go through (fails at tests or build), check the details of the action and make changes accordingly
- An action called
Continuous Deployment
is triggered upon push to main branch, which will automatically build the project and publish it to the S3 bucket
For manual publishing to S3 bucket:
- Run the following command
npm run deploy
- Connect your development enviroment to AWS
- Guide for doing it with VS Code: https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-toolkit.html
For documentation generated by npx(how to run locally, tests, dependencies etc.) see the the old README