acm-udayton / acm-udayton/ACM-Meeting-Records

[FEATURE] Add Swagger UI for API

Offen
#161 0 Kommentare 0 Reaktionen 1 zugewiesene Person Beansprucht von @lefkovitzj Auf GitHub ansehen
backend enhancement
Vorherrschende Sprache
Python
Sterne
7
Forks
2
Ø Merge
4 T. 23 Std.
Gemergte PRs (30 T.)
2

Beschreibung

## Feature Description

Add Swagger UI to the application. It should autogenerate docs and an endpoint testing UI from pydantic request and response data within the route source code.

## Why It's Worth Implementing

This provides a helpful way for the frontend engineering team to understand and interact with the API during the frontend buildout as part of `v2.0`. It also will allow easy testing for the backend engineering team.

---

## Acceptance Criteria & Solution Requirements
*To close this issue, the following must be met (can be finalized in the comments):*
- [x] 1. Application runs as expected with the new feature integrated seamlessly.
- [x] 2. Code quality metrics are maintained, and linting has been considered in development.
- [x] 3. Testing metrics are maintained, and tests have been updated/added wherever relevant during development.
- [x] 4. Documentation has been updated to reflect the changes made during development.
- [x] 5. Add the new `flask-openapi3` dependency.
- [x] 6. Add the new `OpenAPI` extension and include it in `create_app()`.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

The issue mentions adding the `flask-openapi3` dependency and integrating an OpenAPI extension in `create_app()`. Start by examining the existing Flask app structure, likely in an `app.py` or `__init__.py` file. Look for route definitions using pydantic models. Integrate the Swagger UI extension to auto-generate docs from these routes. Verify the UI is accessible at a standard endpoint like `/docs` and that it reflects the API endpoints correctly.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
flask, python
Bereich
api, backend-api-design, documentation
Issue-Typ
Feature
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
65/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.