Team Members:

  • Tony Li : Lead Engineer.
  • Kevin Kim : Backend Engineer.
  • Khalil Ibrahim : Backend Engineer.
  • Christopher Pranata Ardiwinata : Frontend Engineer & Backend Engineer.
  • Nabila Zalfa Nazar : Frontend Engineer & Team Organiser.

Project Overview

This document provides a concise overview of the Consensus Application project, aimed at helping other developers quickly understand its purpose, Architecture, and key components.

Project Structure

This project comprises a series of TypeScript files, each serving a specific function within a larger Node.js application. The files include controller modules, schema definitions, and utility scripts, integrating technologies like Express.js, LocalStack as our mockup AWS environment, MongoDB, and AWS S3.

An overview of how our code work: We have a node that will be launcehd to our network based on data type and connection type ( either restful or websocket). We validate nodes using sqs and sns to other nodes where they will fight for validation. Each user can launch their own nodes , and view someones elses nodes publicly and get their data.

Our Presentation

This presentation details our project.

  • Team Formation, Journey.
  • Problem Statement.
  • Solution Overview.
  • Technical Breakdown.
  • Demonstration.
  • Impact and Potential.

Key Components

  • Controllers: Modules like 'create-node-controller.ts' and 'upload-file-controller.ts' handle specific HTTP requests, performing operations like creating nodes in a database and handling file uploads.
  • Schemas: Files such as 'node-schema.ts' define the structure of data objects, ensuring consistent data handling throughout the application.
  • Utility Scripts: Scripts like 'log-events.ts' and 'error-handlers.ts' provide logging and error handling functionalities across the application.
  • Security: Modules like 'verify-jwt.ts' and 'verify-roles.ts' ensure secure handling of JWTs and user role verification.

Integration Highlights

  • Database Operations: Several modules interact with MongoDB for data storage and retrieval.
  • AWS S3 Integration: The file upload controller integrates AWS S3 for efficient file storage.

Development and Contribution

  • Setup: Developers should have Node.js, Express.js, Docker, LocalStack, React.js and Mongoose and MongoDB set up in their environment.
  • Contribution: Contributions to enhance functionalities or add new features are welcome. Please follow the existing coding standards and submit pull requests for review.

This overview is meant to serve as a quick guide. For detailed information on each file and its functionality, refer to the specific documentation sections within the project.

Link to presentation here: link

The links attached below include:

  • A link to our Github Source Code!
  • A link to a Youtube video of our Application's Backend testing.

Built With

Share this project:

Updates