Skip to content

FAQ

Yes. pro-sejongpeia is a Java, Python and Node.js library that handles the Sejong University portal login (SSO) for you and also provides school data that needs no login. With a student ID and password it returns enrollment status, major, year, classic-reading certification and contact info. See the introduction and the quick start.

No. The library only uses the password for the portal login request. The live demo server also returns the result without storing input. In your own service, never log or persist passwords.

Is this an official Sejong University library?

Section titled “Is this an official Sejong University library?”

No. It is a personal open-source project by a Sejong student and is not affiliated with the university. If the portal changes it may stop working.

Language Requirements
Java Java 17 or later, Spring Boot 3.x (it can also be used without Spring)
Python Python 3.9 or later, no dependencies beyond the standard library
Node.js Node 18 or later, zero dependencies, TypeScript types included, ESM and CommonJS

Are the results the same in all three languages? Which should I use?

Section titled “Are the results the same in all three languages? Which should I use?”

Features, error codes, result fields and value rules are the same and tests enforce it. Only the naming style (snake_case / camelCase) and a few language-specific features differ. Pick the language that matches your stack. Details are in API stability.

Try the live demo first. If the demo also fails, the portal likely changed. Check the error code, not the message (Error codes), and report it in an issue with the error code. Never post a student ID or password. The steps are in Issues and pull requests.

After several wrong passwords the portal locks the account and the library returns ACCOUNT_LOCKED. Reset the password at https://portal.sejong.ac.kr/jsp/inquiry/pwinquiry.jsp after identity verification. Waiting does not unlock it, and the library cannot unlock it for you. The library never retries a rejected login and stops at the first failure. If anyone can type a student ID into your service, limit failed attempts per student ID. (Login verdict and account lock protection)

An empty list came back: is there no data, or is the school having a problem?

Section titled “An empty list came back: is there no data, or is the school having a problem?”

They cannot be told apart. Public data does not throw when one source fails: it returns the last cached value or an empty list. Show a message such as “could not load” next to the result. (Failure isolation and cache)

Results are cached in memory, 24 hours by default (cache_ttl_seconds defaults to 86400). A fresh cache entry means no request to the school, and identical concurrent requests share one call. Create one SejongPublicData per process. (Common rules)

No. Call it from a server only. Calling it directly from a browser or app exposes the password to third-party code. The Node.js package is server-side only too.

I think the portal changed. How do I report it?

Section titled “I think the portal changed. How do I report it?”

A check logs in to the real portal every day and opens an issue automatically when something is wrong. If you noticed first, report it in an issue with the error code and the method you called. (Daily live portal check)

Use GitHub’s private reporting, not a public issue. Never include real student IDs, passwords or other personal data. Details are in Issues and pull requests.

MIT. The rights to the Sejong University seal belong to Sejong University.