A digital data collection system to help organizations optimize the collection, storage, and management of the collected data. Organizations such as non-for-profit organizations need to collect data regularly for their activities. However, most of these organizations still use traditional methods. Their operators must carry around large amount of papers forms. My experience working with a not-for-profit showed me that these methods are time-consuming, costly, and error-prone. The system is an offline-first web application also known as Progressive Web Application (PWA) which will allow mobile workers to collect data even when they do not have access to the Internet. New information that is entered while the operators are offline can be sync up and down anytime they get access to the internet. This project was built as part of my final year project in Business Computing and Information Systems. The goal was to demonstrate how data replications techniques could be used in web applications to improve performance and availibity.
The project is a PWA, so it works best when served using https
. Check out the hosted version at:
- Link: https://naughty-villani-151fac.netlify.com
- Default credentials: admin/password
- Node JS 10.x.x and later (Installation instructions)
- A modern web browser e.g lastest version of Google Chrome
Open your operating system command-line interface, go to the project folder and run:
$ npm install # install the project dependencies
Rename the env_example
file to .env:
You can use your file explorer or if your are on a unix like system you can use:
$ mv env_example .env
Note: You should update the .env
file to match your environment. Default values are provided.
Then build the project:
$ npm run build
You can serve the application by running:
$ npm run start:prod
To use the database server locally, update the value of VUE_APP_SYNC_URL
in the .env file to http://localhost:5984
, rebuild the application and run the following command:
$ npm run server
- Note:: An internet connection is required for authentication.
- Note: You can run the Akwaba API server locally by following the instructions at its repository.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License