The team is developing a Cloud-based solution exploiting cloud instances on MRC for harvesting data by Mastodon, storing data by CouchDB, processing data by frontend, and visualizing data by frontend.
-
Ansible-playbook: Contains the Ansible Playbooks automating the setup and configuration of our server.
-
Backend: Includes the server-side logic and API for our scenarios.
-
SUDO_Data: Stores and handles SUDO data for system-level tasks and permissions.
-
crawler: Web crawling component for harvesting Mastodon data.
-
frontend/my-app: Handles user interactions and data presentation.
-
node_modules: Contains all dependencies and sub-dependencies of the project.
-
.DS_Store: Stores custom attributes of its containing folder.
-
README.md: Initial file serving as an introductory and instructional guide to the project.
-
package-lock.json: Auto-generated and updated by NPM containing the exact dependency tree.
-
package.json: Key file for managing dependencies and other project metadata.
The project is deployed using Ansible, automating the process of applications deployment across four instances.
- Establish four new instances with appropriate storage volume and security groups.
- Mount and configure storage volumes on the instances.
- Clone necessary script files from GitHub.
- Install required dependencies and software packages.
- Deploy and configure CouchDB within Docker on instances.
- Deploy Mastodon harvest within Docker on instance 4.
- Deploy data analytics scripts and backend infrastructure within Docker on instance 1.
- Implement Docker Swarm, designating instance 1 as the manager and others as workers.
Visit Project Visualization to see our project's visualization.