MissionsApp

Chatbot

Description:

  • MissionsApp is a microservice-based slack, web and a mobile real-time application for managing the client, agency and contractor relationship. It automates the manual and difficult processes of filling in timesheets, getting them approved and issuing invoices through Emails, Google Sheets, etc. Sometimes with this manual process, the data gets lost and it’s hard to manage that. So this app will solve all the problems faced during the conventional manual processes.
  • MissionsApp allows contractors to record interactions on a daily basis and then automatically generates the timesheets, sends them for approval and then formulates and sends out the invoices via Slack. This makes it transparent for all parties to stay informed with a few slack commands.

Technology Stack:

  • NodeJS Microservices
  • Meteor for reading in real time
  • React.js for client
  • Hyperledger for creating a blockchain network
  • Kue/Redis
  • Sendgrid as an email service
  • Kong
  • MongoDB
  • Google Cloud
  • Slack APIs for Slack Bot

Highlights

  • Account or Team Management
  • User Management
  • Timesheet Management
  • Leaves Management
  • Report Management
  • Blockchain Network
  • Slack Application

Hyperledger/ Blockchain

  • MissionsApp is built using blockchain and utilizes real-time technology to notify as and when events happen across the chain of users. It will act as a security layer between the user and the data.
  • In blockchain technology similar to transactional DB, we maintain history called “ledger”. The blockchain ledger is somewhat different from the others. Every record has, a unique hash and the person updating the record. The next record in the ledger will have key/hash derived from the previous ledger. So it is immutable, if anyone wants to temper a record then the other smart contacts verifies the transaction. Copy of ledger is maintained by multiple nodes. When these nodes (miners) verifies the transaction, only then it records the transaction as successful.
  • We use Hyperledger Fabric Composer for building a Blockchain Network. To maintain the state of the transaction, we also use LevelDB and CouchDB too. LevelDB is the default key-value state database embedded in the peer process. CouchDB is an optional alternative external state database. Similar to the LevelDB key-value store, CouchDB can also store any binary data that is modeled in chaincode (CouchDB attachment functionality is used internally for non-JSON binary data). But as a JSON document store, CouchDB additionally enables rich query against the chaincode data, when chaincode values (e.g. assets) are modeled as JSON data. Along with that, we can attach any kind of external database with that.
  • Only the user authenticated on the hyperledger will be allowed to perform an action on the application and only valid transactions are allowed.

To make system secure, transparent and immutable we used Blockchain technology.
A private permission based blockchain technology is used i.e. Hyperledger fabric to make a network across a chain of users. It maintains a digital signature for each individual user that are public and private keys. It helps us to maintain the system auditable and transparent. Records (data) are stored on blockchain network so it makes records immutable and facilitates no downtime (Zero downtime) of the system. It makes the system transparent and accessible records based on the role and permissions of users. So events of the network make it real-time application.
Created a scalable system using Blockchain, Node.js, MongoDB, React.js and GraphQL.
This application provides a platform to maintain timesheet reports and invoices in a secure and efficient way. We made a slack application so that users can communicate at one workplace in interactive ways, with just a few commands and clicks. Users can do all their required actions regarding timesheet reports by using this app (MissionsApp) and also get notified on the same workplace. With the help of the slack app, users can invite other people and join the network.
All services are based on microservice architecture so it will help to maintain and scale them.

Core Features of this App

  • Slack registration on application and authentication through “Add to Slack” button.
  • Slack bot for feature interaction through slash commands.
  • Daily standups or work status updates along with work location information.
  • User authentication, identity and wallet creation on Hyperledger.
  • Agency registration into the application. An agency can manage contractors on behalf of the clients. Also, source contractors can manage their billing and invoice, against specific assignments (jobs)
  • Client and manager bulk uploads. Clients actually hire contractors, either directly or via an agency, for specific assignments (jobs) and approve their billable time.
  • Contractor bulk upload, Contractors actually carry out the day to day billable activities on an assignment, which they invoice against on an agreed frequency e.g. monthly.
  • Jobs creation based on client and contract creation based on the job with a contractor.
  • Timesheet submission, approval and invoice generation through slack.

Project details

  • Client Name

    MissionsApp

  • Project Type

    Web App

  • In Category

    Chatbot

  • Technology
Visit Website
  • Facebook
  • Twitter
  • LinkedIn
Our Partners
meteor official partner