Skip to content
This repository has been archived by the owner on Dec 12, 2024. It is now read-only.

Client-Side applicant server #82

Open
Tracked by #142 ...
bnonni opened this issue Aug 15, 2024 · 4 comments
Open
Tracked by #142 ...

Client-Side applicant server #82

bnonni opened this issue Aug 15, 2024 · 4 comments
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers hacktoberfest 2024 Related to hacktoberfest 2024 level: intermediate Issues for developers with an intermediate knowledge level P2 priority level 2, important not urgent, schedule or delegate package: applicant Directly impacts the applicant package package: server Directly impacts the server package

Comments

@bnonni
Copy link
Contributor

bnonni commented Aug 15, 2024

Continuation of #68

DcxServer - Issuer

The @dcx-protocol/server package implements a polling mechanism for DcxIssuer. It is not a true server in the sense that its not running something like express to accept incoming http requests. Rather, it simply polls listening for new incoming records with a certain protocolPath (i.e. application). For now, that will be good enough.

DcxServer - Applicant

The @dcx-protocol/server package doesn't have the same mechanism for DcxApplicant because DcxApplicant is intended to be used on client-side (browsers). As such, we expect developers to be running their own local dev framework (next, react, angular, etc) and then install the applicant package into that project. It would, however, be nice if we could come up with some kind of simple server-like mechanism to add to the server package that injects the dcx applicant class and runs a server.

Ideas to Try

  1. next.js
  2. @web5/dwn-server

User Stories

  • As a dev, I want to easily install the dcx server and run an applicant client app
  • As a dev, I want to customize the applicant to work with my server
  • As a dev, I want to do minimal FE coding to get started quickly

Func Reqs

  • Create server/applicant-server.ts and import dcx-applicant and dcx-common
  • Instantiate new DcxApplicant
  • Add a server to the start method
  • Implement a basic frontend containing example app to demo applicant flow
  • Use the dcx handshake manifest and/or phone/email MFA

Next.js Func Reqs

  • Install nextjs
  • DcxApplicant.start runs a next.js server (pages router)

DWN Server Func Reqs

  • Install @web5/dwn-server
  • DcxApplicant.start runs a the http server from within dwn-server
@bnonni bnonni added package: applicant Directly impacts the applicant package package: server Directly impacts the server package labels Aug 15, 2024
@bnonni bnonni self-assigned this Aug 15, 2024
@bnonni bnonni mentioned this issue Aug 15, 2024
4 tasks
@bnonni bnonni added the enhancement New feature or request label Aug 16, 2024
@bnonni bnonni added P3 priority level 3, not urgent not important, backlog good first issue Good for newcomers hacktoberfest 2024 Related to hacktoberfest 2024 level: intermediate Issues for developers with an intermediate knowledge level enhancement New feature or request P2 priority level 2, important not urgent, schedule or delegate and removed enhancement New feature or request P3 priority level 3, not urgent not important, backlog labels Aug 24, 2024
@bnonni bnonni removed their assignment Aug 29, 2024
@adalundhe
Copy link
Contributor

@blackgirlbytes I'll also grab this one from y'all! It looks like we're leaning toward NextJS here?

@adalundhe
Copy link
Contributor

.take

Copy link

Thanks for taking this issue! Let us know if you have any questions!

@bnonni
Copy link
Contributor Author

bnonni commented Nov 2, 2024

@adalundhe thanks for picking up another one! Looking forward to see the PR for this. And yes, I lean towards nextJS given its popularity, but if you have a strong inclination for another framework, please feel free to go with that and make your case. I also was brainstorming around how to possibly use the @web5/dwn-server package for this case. Could be an interesting use case for that package.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request good first issue Good for newcomers hacktoberfest 2024 Related to hacktoberfest 2024 level: intermediate Issues for developers with an intermediate knowledge level P2 priority level 2, important not urgent, schedule or delegate package: applicant Directly impacts the applicant package package: server Directly impacts the server package
Projects
None yet
Development

No branches or pull requests

2 participants