Skip to content

Conversation

@sparsetable
Copy link

@sparsetable sparsetable commented Nov 11, 2025

Models and the flask API have been updated to use the new dataclasses. The database schema has been updated to reflect current consensus. Feedback needed. Otherwise, seems functional and ready for testing.

An issue for the future is that the yapper emit should include the ID of what event was affected. Eg, when campus.events.new is emitted, yapper should also have the capability to specify the ID of the new event.

Changes to review are in the 4 most recent commits.

@sparsetable sparsetable self-assigned this Nov 11, 2025
@sparsetable sparsetable marked this pull request as draft November 11, 2025 15:02
@ngjunsiang
Copy link
Contributor

Great! I think the work here is substantial enough to fulfill the progression requirement for Collaborators > Design a feature, and will proceed to mark that as fulfilled.

Unfortunately the codebase has changed a lot since then; I've merged the latest weekly HEAD into this branch, in case you're wondering about the new commits added since the PR was created.

That means there'll be refactoring work to do; but not for now. I'll use this PR as a demo for the NYSD Collaborators workshop, to explain the new codebase structure and also demo some work processes. If possible I'd also like to use the chance to teach how to review a PR, so that participating collaborators can fulfill the Review a PR requirement as well.

@sparsetable
Copy link
Author

Thanks for your work Mr Ng! After this, what else should i work on to move the NYTimetable project forward, now that i have free time?

Additionally, should i create a github issue for:

An issue for the future is that the yapper emit should include the ID of what event was affected. Eg, when campus.events.new is emitted, yapper should also have the capability to specify the ID of the new event.

@ngjunsiang
Copy link
Contributor

ngjunsiang commented Nov 12, 2025

The goal is to use https://github.com/nyjc-computing/campus-api-python instead of writing raw HTTP API requests; The Python API for that is not quite stable as I'm still testing it out with https://github.com/nyjc-computing/campus-admin, an admin interface for Campus administration (I have a number of uncommitted changes that I hope I'll be sufficiently pleased with to commit by end of the week).

I'm hoping to have a working prototype by end of next week; the main blocker is that OAuth (log in with NYJC account) isn't working stably yet so I have to keep massaging the Python API for that to get it to something I'm pleased with. Then you can use campus-admin as a template to set up authentication for nyxchange-timetable and start using the Python API.

There's no need to create an issue for campus-yapper as the emit() method already takes a data parameter; the issue is that we haven't settled on a schema for what needs passing and how to pass it. That will have to be documented in a separate project discussion.

(I do however have some small API experiments going on in https://github.com/nyjc-computing/campus/blob/weekly/campus%2Fauth%2Froutes%2Fusers.py where I'm trying out possible schemas for it.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants