Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creating a backend web server for Hydrant #50

Open
SuperSonicHub1 opened this issue Sep 12, 2023 · 1 comment
Open

Creating a backend web server for Hydrant #50

SuperSonicHub1 opened this issue Sep 12, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@SuperSonicHub1
Copy link

Blocking #47, #48.

Base Features

  • hosting the Hydrant SPA
    • this server could also just be an API server
  • login functionality

This would be further extended in other issues.

Language & Server Framework

Hydrant currently uses Python and TypeScript. Much of our existing schedule scraping is written in Python, but some useful logic, like creating iCalendar files, is written in TS.

Writing TS is much more fun than writing Python IMO (for context, most code I write is Python), but either is a decent enough lang for a server.

For Python, FastAPI is a great server framework.
For JavaScript, the Express ecosystem, while good, doesn't have great async support out of the box and holds many footguns, while more robust frameworks like NestJS are a little overkill.

Database

Pretty much all SIPB projects use MySQL as a database solution; I have no qualms with this.

@psvenk psvenk added the enhancement New feature or request label Sep 15, 2023
@101arrowz
Copy link
Member

I'd like to take over this issue + #47 and #48 by creating a Node.js backend for Hydrant that hosts an iCalendar endpoint but keeps its data within the FireRoad backend. The only thing I'd need help with is getting access to the production instance of the FireRoad API, which maybe @psvenk would know more about - but I can write code around the assumption that we'll be granted access until then.

This would also open up a ton of new possibilities involving linking Hydrant and CourseRoad more closely, e.g. importing your class list from a road you make on CourseRoad into Hydrant.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants