Can someone simply explain how can I Implement OHIF with a external API with NodeJs

Can someone simply explain how can I Implement the OHIF with a external API (NodeJs). I am a Noob.

To simplify the process I have taken a JSON example that is given on the Documentation.
Now I am simply creating the necessary APIs.
And last I implemented the api on the OHIF viewer.

Here is the NodeJS server I created.

// Read the JSON file containing DICOM data
const dicomData = JSON.parse(fs.readFileSync(path.join(__dirname, 'dicom_data.json'), 'utf8'));

// QIDO-RS endpoint for studies
app.get('/dicomweb/studies', (req, res) => {
    res.set('Content-Type', 'application/dicom+json');
    res.json(dicomData.studies);
});

// QIDO-RS endpoint for series
app.get('/dicomweb/studies/:studyInstanceUID/series', (req, res) => {
    res.set('Content-Type', 'application/dicom+json');
    res.json(dicomData.studies.series);
});

// QIDO-RS endpoint for instances
app.get('/dicomweb/studies/:studyInstanceUID/series/:seriesInstanceUID/instances', (req, res) => {
    res.set('Content-Type', 'application/dicom+json');
    res.json(dicomData.studies.series.instances);
});

// Metadata endpoint
app.get('/dicomweb/studies/:studyInstanceUID/series/:seriesInstanceUID/instances/:sopInstanceUID/metadata', (req, res) => {
    res.set('Content-Type', 'application/dicom+json');
    res.json(dicomData.studies.series.instances[0]);
});

app.listen(port, () => {
    console.log(`DICOM Web Server running on port ${port}`);
});

My JSON Data Looks like this

{
  "studies": [
    {
      "StudyInstanceUID": "1.3.6.1.4.1.14519.5.2.1.6279.6001.298806137288633453246975630178",
      "StudyDate": "20000101",
      "StudyTime": "",
      "PatientName": "",
      "PatientID": "LIDC-IDRI-0001",
      "AccessionNumber": "",
      "PatientAge": "",
      "PatientSex": "",
      "series": [
        {
          "SeriesInstanceUID": "1.3.6.1.4.1.14519.5.2.1.6279.6001.179049373636438705059720603192",
          "SeriesNumber": 3000566,
          "Modality": "CT",
          "SliceThickness": 2.5,
          "instances": [
            {
              "metadata": {
                "Columns": 512,
                "Rows": 512,
                "InstanceNumber": 1,
                "SOPClassUID": "1.2.840.10008.5.1.4.1.1.2",
                "PhotometricInterpretation": "MONOCHROME2",
                "BitsAllocated": 16,
                "BitsStored": 16,
                "PixelRepresentation": 1,
                "SamplesPerPixel": 1,
                "PixelSpacing": [0.703125, 0.703125],
                "HighBit": 15,
                "ImageOrientationPatient": [1, 0, 0, 0, 1, 0],
                "ImagePositionPatient": [-166, -171.699997, -10],
                "FrameOfReferenceUID": "1.3.6.1.4.1.14519.5.2.1.6279.6001.229925374658226729607867499499",
                "ImageType": ["ORIGINAL", "PRIMARY", "AXIAL"],
                "Modality": "CT",
                "SOPInstanceUID": "1.3.6.1.4.1.14519.5.2.1.6279.6001.262721256650280657946440242654",
                "SeriesInstanceUID": "1.3.6.1.4.1.14519.5.2.1.6279.6001.179049373636438705059720603192",
                "StudyInstanceUID": "1.3.6.1.4.1.14519.5.2.1.6279.6001.298806137288633453246975630178",
                "WindowCenter": -600,
                "WindowWidth": 1600,
                "SeriesDate": "20000101"
              },
              "url": "dicomweb:http://localhost:8000/1-001.dcm"
            }
          ]
        }
      ],
      "NumInstances": 5,
      "Modalities": "CT"
    }
  ]
}

Implementation on the OHIF looks Like this(Its in the DefaultJs), I haven’t done anything to other files yet. Just the DefaultJs

 dataSources: [
    {
      namespace: '@ohif/extension-default.dataSourcesModule.dicomweb',
      sourceName: 'dicomweb',
      configuration: {
        friendlyName: 'Local DICOMWeb Server',
        name: 'LocalDICOMWeb',
        wadoUriRoot: 'http://localhost:8000/dicomweb',
        qidoRoot: 'http://localhost:8000/dicomweb',
        wadoRoot: 'http://localhost:8000/dicomweb',
        qidoSupportsIncludeField: true,
        supportsReject: false,
        imageRendering: 'wadors',
        thumbnailRendering: 'wadors',
        enableStudyLazyLoad: true,
        supportsFuzzyMatching: false,
        supportsWildcard: false,
      },
    },

if you have a json file you should follow this DICOM JSON | OHIF