@emiran/omu-ubys
v0.2.0
Published
Unofficial TypeScript client for Ondokuz Mayis University UBYS.
Maintainers
Readme
@emiran/omu-ubys
Ondokuz Mayıs Üniversitesi UBYS için gayriresmî TypeScript istemcisi
UBYS'yi elle kazımayı bırakın. Tek bir istemciyle tipli, normalize öğrenci verisi alın.
Başlarken · API Dokümantasyonu · English
✨ Özellikler
- 🔐 Oturum tabanlı kimlik doğrulama — cookie jar, CSRF token ve login akışı sizin için yönetilir
- 📊 Akademik veriler — notlar, transkript, ders detayları, haftalık program
- 💬 Mesajlaşma — konuşma listesi, katılımcılar, tam mesaj geçmişi
- 🍽️ Yemekhane menüsü — giriş yapmadan günlük menü
- 🧑🏫 Danışman bilgisi — akademik danışmanınızın adı ve iletişim bilgisi
- 📋 Anket çözme — MES ders değerlendirme anketlerini tespit et, getir ve gönder
- 🛡️ Yapılandırılmış hatalar —
LoginError,SessionExpiredError,ParseErrorve dahası - 📦 ESM + CJS — her ortamda çalışır, tam tip dışa aktarımı
Başlarken
Kurulum
npm install @emiran/omu-ubysHızlı Başlangıç
import { UBYSClient } from "@emiran/omu-ubys";
const client = new UBYSClient({
username: process.env.OMU_UBYS_USERNAME,
password: process.env.OMU_UBYS_PASSWORD,
});
try {
await client.login();
const profile = await client.getProfile();
const grades = await client.getGrades();
console.log(profile.name); // "Emirhan Çetinkaya"
console.log(grades[0]?.courses[0]?.letterGrade); // "AA"
} finally {
await client.close();
}🗂️ Mevcut Metodlar
| Kategori | Metod | Giriş Gerekli |
|----------|-------|:---:|
| Kimlik | login() | — |
| | clearSession() | ✅ |
| | close() | — |
| Akademik | getProfile() | ✅ |
| | getGrades() | ✅ |
| | getClassDetails(classId) | ✅ |
| | getTranscript() | ✅ |
| | getWeeklySchedule() | ✅ |
| Kampüs | getAdvisor() | ✅ |
| | getCafeteriaMenu() | ❌ |
| Anket | getPendingSurveys() | ✅ |
| | fetchSurvey(surveyUrl) | ✅ |
| | submitSurvey(surveyData, answers) | ✅ |
| Mesajlaşma | getMessages(options?) | ✅ |
| | getChatRecipients(options) | ✅ |
| | getChatMessages(options) | ✅ |
Durum yardımcıları:
isLoggedIn·isClosed
🤔 Neden Bu Paket?
| @emiran/omu-ubys olmadan | @emiran/omu-ubys ile |
|---|---|
| Manuel cookie yönetimi | Otomatik oturum yönetimi |
| Ham HTML / Base64 payload parse etme | Temiz, tipli dönüş değerleri |
| UBYS endpoint'lerini tahmin etme | Dökümante edilmiş, test edilmiş metodlar |
| Hata bağlamı yok | Yapılandırılmış hata hiyerarşisi |
📚 Dokümantasyon
| Döküman | Açıklama | |---------|----------| | DOCS.md | Tam API referansı, tipler ve örnekler | | CHANGELOG.md | Sürüm geçmişi ve önemli değişiklikler | | README.md | English overview | | CONTRIBUTING.md | Katkı rehberi | | DEVELOPMENT.md | Yol haritası ve proje durumu |
⚠️ Hukuki Uyarı
Bu proje tamamen eğitim ve araştırma amacıyla sunulan gayriresmî bir üçüncü taraf çalışmadır.
Ondokuz Mayıs Üniversitesi tarafından onaylanmamış, desteklenmemiş veya bakımı yapılmamaktadır. Gayriresmî API kullanımı veya kurumsal sistemlere otomatik erişim, kullanım koşullarını veya ilgili mevzuatı ihlal edebilir. Kullanım sorumluluğu tamamen size aittir.
Kaldırma veya inceleme talepleri:
[email protected]
