Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions Controllers/api/PortCaptaincyApiController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using Microsoft.AspNetCore.Mvc;
using ShipServicesApp.Services;

namespace ShipServicesApp.Controllers.api
{
[ApiController]
[Route("api/[controller]")]
public class PortCaptaincyApiController : ControllerBase
{
private readonly DemoDataService _data;
public PortCaptaincyApiController(DemoDataService data) => _data = data;

[HttpGet]
public IActionResult GetAll() => Ok(_data.PortCaptains);
}
}
64 changes: 64 additions & 0 deletions Views/Home/Index.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,70 @@
</div>
</div>

<!-- Get Started with API Panel -->
<div class="container mt-5 mb-5">
<div class="card shadow-lg border-0">
<div class="card-header bg-primary text-white">
<h4 class="mb-0"><i class="bi bi-code-slash"></i> Get Started with API</h4>
</div>
<div class="card-body">
<p class="lead">Quick start guide for demo participants to try our REST APIs</p>

<div class="row">
<div class="col-md-6 mb-3">
<h5 class="text-primary"><i class="bi bi-plug"></i> Available Endpoints</h5>
<div class="list-group">
<div class="list-group-item">
<h6 class="mb-1">Ship Agencies API</h6>
<code class="text-muted">/api/ShipAgenciesApi</code>
<p class="mb-1 mt-2 small">Returns all ship agencies with contact details</p>
</div>
<div class="list-group-item">
<h6 class="mb-1">Port Captaincy API</h6>
<code class="text-muted">/api/PortCaptaincyApi</code>
<p class="mb-1 mt-2 small">Returns all port captains and their assigned ports</p>
</div>
</div>
</div>

<div class="col-md-6 mb-3">
<h5 class="text-primary"><i class="bi bi-info-circle"></i> Usage Notes</h5>
<ul class="list-unstyled">
<li class="mb-3">
<strong><i class="bi bi-check-circle-fill text-success"></i> Try it now:</strong>
<p class="mb-1 small">Click on any endpoint URL below or visit <a href="/swagger" class="text-decoration-none">Swagger UI</a> for interactive testing</p>
</li>
<li class="mb-3">
<strong><i class="bi bi-check-circle-fill text-success"></i> HTTP Method:</strong>
<p class="mb-1 small">All endpoints support <code>GET</code> requests to retrieve data</p>
</li>
<li class="mb-3">
<strong><i class="bi bi-check-circle-fill text-success"></i> Response Format:</strong>
<p class="mb-1 small">JSON formatted responses with demo data</p>
</li>
<li class="mb-3">
<strong><i class="bi bi-check-circle-fill text-success"></i> No Auth Required:</strong>
<p class="mb-1 small">Demo APIs are open for testing purposes</p>
</li>
</ul>
</div>
</div>

<div class="mt-3 p-3 bg-light rounded">
<h6 class="mb-2"><i class="bi bi-terminal"></i> Quick Test Example:</h6>
<code class="d-block mb-2">curl http://&lt;your-host&gt;/api/ShipAgenciesApi</code>
<code class="d-block">curl http://&lt;your-host&gt;/api/PortCaptaincyApi</code>
</div>

<div class="mt-3 text-center">
<a href="/swagger" class="btn btn-primary btn-lg">
<i class="bi bi-box-arrow-up-right"></i> Open Swagger API Documentation
</a>
</div>
</div>
</div>
</div>

<!-- Quick Modules Overview / Cards -->
<div class="container mt-4">
<div class="row g-4">
Expand Down