HomeUniteUs icon indicating copy to clipboard operation
HomeUniteUs copied to clipboard

Initial Scaffold for FastAPI Implementation

Open lasryariel opened this issue 1 year ago • 1 comments

  • Parent Issue: #771

Overview

This issue involves creating the foundational scaffold for our FastAPI implementation. The primary goal is to establish a starting point for the migration, focusing on user authentication (sign-in/sign-up) and ensuring early integration with the client interface. The new API should be testable from the client once the basic setup is complete.

Action Items

  • [x] Create a "trunk-type" branch named "fastapi-migration" branch in /api-v2 to manage the development of FastAPI migration.
  • [x] Set up a new folder structure and add a basic scaffold for the FastAPI application.
  • [x] Create updated readme
  • [x] Implement basic authentication endpoints:
    • [x] User Sign-In
    • [ ] User Sign-Up
  • [ ] Integrate the initial scaffold with the client to validate the API setup.
  • [ ] Review the scaffold and implementation progress with the team.

Resources/Instructions

lasryariel avatar Sep 06 '24 19:09 lasryariel

Partially closed with #787

erikguntner avatar Sep 06 '24 19:09 erikguntner

  • [ ] Erik to open PR to connect frontend

update all 9 controllers Done

  • [x] security_controller - get rid of
  • [x] service_provider_controller - renamed to housing_orgs_controller

Paul working on these (related to intake profile)

  • [ ] forms_controller
  • [ ] responses_controller

Erik and John working on these:

  • [ ] auth_controller
  • [ ] users_controller
  • [ ] host_controller
  • [ ] cooridinator_controller
  • [ ] admin_controller

Next Steps

  • [ ] rearrange endpoints/controllers as needed
  • [ ] Confirm dependencies are updated for each controller changed
  • [ ] Marshmellow to Pydantic - need to create schemas
  • [ ] Folder structuring
  • [ ] Update build scripts (test scripts)
  • [ ] Update Docker file configuration
  • [ ] documentation
    • diagram/descriptions
    • important to document authentication process

lasryariel avatar Sep 13 '24 00:09 lasryariel

Endpoints:

  • [ ] /users/{userId}
  • [ ] /serviceProviders
  • [ ] /serviceProviders/{providerId}
  • [ ] /host
  • [ ] /auth/signup/host
  • [ ] /auth/signup/coordinator
  • [ ] /auth/signin
  • [ ] /auth/resend_confirmation_code
  • [ ] /auth/confirm
  • [ ] /auth/signout
  • [ ] /auth/session
  • [ ] /auth/refresh
  • [ ] /auth/forgot_password
  • [ ] /auth/forgot_password/confirm
  • [ ] /auth/user
  • [ ] /auth/private
  • [ ] /auth/google
  • [ ] /auth/google/sign_up
  • [ ] /auth/google/sign_in
  • [ ] /auth/new_password
  • [ ] /auth/invite
  • [ ] /auth/confirmInvite
  • [ ] /forms
  • [ ] /forms/{form_id}
  • [ ] /responses/{f

lasryariel avatar Sep 13 '24 00:09 lasryariel