Giter Site home page Giter Site logo

ship's Introduction

ship

Repo for re writing the site http://seeas.org/ship/index.php building the same with angular 9 with node.js backend api.

ship -> mdb-ui is the angular project cd mdb-ui for the first time run the npm install the dependencies and do npm build && npm start to launch the app in the browser. refer mdb-ui/README.md for instructions

ship -> service-api is the node.js backend api backed up with express.js for serving the api. cd service-api and do npm install for the first time and then npm start

TODO List:

  1. Add swagger support for the API docs to servvice-api
  2. Change the javascript mode of the service-api to TypeScript to avoid ambigous tyope and strict typing to the code
  3. Add docker support for containarization of the UI and Service API for easy deployments
  4. Production readiness to add support for build and package of the build artifacts

ship's People

Contributors

arun-alagesan avatar

Watchers

 avatar

ship's Issues

Add TypeScript Support to the NodeJS API

Current problem of JavaScript based API causes a lot of typing issues. Its a cumbersome process to sticking to a comment typing in the API end

Objective is to adopt TypeScript at the early stage of development to avoid inconsistencies

API - Design

Start the API design the with swagger-doc or swaggerhub

visit docs link for updates

[ x ] create swagger hub account
[ x ] add brief over view of the api documentation
[ ] components
[ x ] user
[x] status
[x] response
[x] report
[x] report detail
[x] position
[x] vessel
[ ] endpoints
[x] /
[x] get
[x] /reports
[x] get
[x] put
[x] /reports/{id}
[x] get
[x] post
[x] /vessels
[x] get
[x] put
[x] post

Schema for Engine : Switch Board

  • Switch Board
      • Power Management System
      • Power Production and Consumption

Add separate tasks for each of this sections for this page

image

API design for Operations in Report Details

Operations has four sections: and the schema for operation consist of the below

  • Create schemas for the below section
      • #46 Operating time
      • #48 Operating Condition
      • #47 Voyage Plan

image

*Create paths for Operations

    • #50 path: reports/{id}/operations
      * - [ ] #51 get: fetch the operations details for the report id
      * - [ ] #52 put: creates new Operating Time, Operating Condition, Voyager Plan and Position
      * - [ ] #53 post: updates any of the informations related to any or all of the Operations schemas
    • path: operations/{id}
      * - [ ] get: fetch the operations details for the and specified id
      * - [ ] post: updates any of the informations related to any or all of the Operations schemas

Schema for Engine : Run Hours

  • Run Hours
      • Main Machinery
      • Auxiliary Machinery 1
      • Auxiliary Machinery 2
      • Pump ** can repeat twice ** #Pump1 #Pump2
      • Deck Machinery

Add separate tasks for each of this sections for this page
image
image

put: path: reports/{id}/operations

sub task of #50

Create the schema spec for the the put operation which includes the parameters, headers, requestBody with the schema specifications of Operating Time, Operating condition, Voyage Plan and Position

API Design for reports end point

Add the design for the operations allowed for reports
image

image

path :/reports
get : List all reports
put : new report

path : reports/{id}
get : fetch report by id
post : update report by id

Add JWT based authentication

Now its just a plain db query for authentication.

Add the JWT based authentication to the app.

Changes in both API and Angular UI

Schema for Engine : Main Engine

  • Main Engine
    • Observation can have up to six repetitions
        • Details
        • Engine Observations
        • ME Controls
        • Air System
        • ME Lube Oil System
        • ME Fuel Oil System
        • Cooling System
        • Main Engine Exhaust
        • Turbo Charger
        • Scavenge Air Sytem
        • Scavenge Air Coolers
        • Outlet Temperature
        • Thrust bearing
        • Intermediate Shaft Bearing
        • Stern tube System

image
image
image

Add separate tasks for each of this sections for this page

Add a video to demonstrate API Testing

  1. Install Postman
  2. Setting up postman project collection
  3. Make a get request to the end point
  4. Make a post request with params and body to end point
  5. Verify results

Schema for Engine : Auxilary

  • Auxilary System
      • Fuel and Lube oil System
      • Cooling Water System
      • Exhaust System
      • Scavenge System
      • Alternator

Add separate tasks for each of this sections for this page
image

Schema for Engine : Systems

  • Systems
      • Sea Water Systems
      • Engine Room
      • Accommodation air temp
      • Accommodation air Condition
      • Scrubber
      • Cooling System
      • Air
      • Domestic Reefer
      • Purifier
      • Tank Temperature
      • Fresh Water Generator
      • Room Temperature

Add separate tasks for each of this sections for this page
image
image
image

Report Details

Report Details components to show the list of reports created

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.