# CiteLynq Web Sample A sample ASP.NET Core web application demonstrating how to integrate with the CiteLynq API for verified citations across multiple authoritative sources. ## Features | Feature | Description | |---------|-------------| | ASP.NET Core 9.0 | Minimal API with modern C# patterns | | Proxy Endpoints | Hide API keys from client-side code | | Multi-Source Search | ArXiv, PubMed, CourtListener, and more | | Citation Formats | APA, MLA, Chicago, Bluebook | | Responsive UI | Clean, modern design for desktop and mobile | | Local Storage | Persists API key in browser | ## Quick Start ### 1. Clone the Repository ```bash git clone https://git.marketally.com/citelynq/CiteLynq.WebSample.git cd CiteLynq.WebSample ``` ### 2. Get an API Key 1. Visit [citelynq.com/app/api-keys](https://citelynq.com/app/api-keys) 2. Create a new API key 3. Copy the key (starts with `cl_`) ### 3. Run ```bash dotnet run ``` Open `http://localhost:5100` in your browser. ## Project Structure ``` CiteLynq.WebSample/ ├── Program.cs # ASP.NET Core minimal API ├── CiteLynq.WebSample.csproj # Project file ├── Properties/ │ └── launchSettings.json # Launch configuration └── wwwroot/ └── index.html # Single-page application ``` ## API Endpoints ### Search Citations ```http GET /api/search?q=climate+change&sourceType=ArXiv&page=1&pageSize=20 X-API-Key: cl_your-api-key-here ``` ### Get Article Details ```http GET /api/articles/{id} X-API-Key: cl_your-api-key-here ``` ### Example Response ```json { "data": { "results": [ { "id": "arxiv-2301.12345", "sourceType": "ArXiv", "title": "Climate Change Research", "authors": ["Dr. Jane Smith"], "publishedDate": "2023-01-15", "citations": { "apa": "Smith, J. (2023)...", "mla": "Smith, Jane..." } } ], "totalCount": 145 } } ``` ## Configuration ### API Base URL Edit `Program.cs`: ```csharp const string API_BASE_URL = "https://citelynq.com/api"; ``` ### Port Edit `Properties/launchSettings.json`: ```json { "profiles": { "http": { "applicationUrl": "http://localhost:5100" } } } ``` ## Development ### Prerequisites - .NET 9.0 SDK ### Commands ```bash dotnet build # Build dotnet run # Run dotnet publish -c Release # Publish ``` ## Security Notes - **API Keys**: The proxy pattern keeps keys server-side - **CORS**: Configure specific origins for production - **HTTPS**: Required for production deployments ## Troubleshooting | Issue | Solution | |-------|----------| | Port in use | Change port in `launchSettings.json` | | CORS errors | Check CORS configuration in `Program.cs` | | API key invalid | Verify key starts with `cl_` and is active | ## Resources - [CiteLynq API Docs](https://citelynq.com/docs) - [Get API Key](https://citelynq.com/app/api-keys) - [ASP.NET Core Docs](https://docs.microsoft.com/aspnet/core) ## License MIT - Use freely in your own projects.