Skip to content
/ ukeysuite Public

A suite to retrieve course information, keep a database and download items from UKEY (Uludağ KEY).

License

Notifications You must be signed in to change notification settings

fybx/ukeysuite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ukeysuite

Bu dosyayı Türkçe olarak da okuyabilirsiniz.

A suite to retrieve course information, keep a database and download items from UKEY (Uludağ KEY). ukeysuite is powered by Puppeteer – a Node.js library to automate Chrome/Chromium, automating logins and scraping related content.

None of your data – including your username (student code), password or any of the content accessed on UKEY leaves your device (if you don't explicitly share, upload or commit parts of it. See below for more details). ukeysuite is fully open-source and is licensed by GNU GPL v2.

Example Use Cases

1. Credentials and logging into UKEY

File: credentials.json

{
    username: "032090001",
    password: "verysecure",
}
const credentials = getCredentials('credentials.json');
const instance = await loginToUkey(credentials);

2. Fetching taken courses

const courses = await fetchCoursesInstance(instance);
console.log('Courses I take this semester:');
courses!.forEach((course) => { console.log(course.courseName) });

3. Create a comparable database

createCourseDatabaseFile(courses, instance);

Features

Feature Exists Version
Read/write credentials file DONE v1.0.0
Fetch all taken courses DONE v1.0.0
Create database file with courses and course items DONE v1.0.0
Full types, interfaces and comments DONE v1.0.0
Download all files, select courses, or select items TODO ...

Data Privacy

As previously stated, ukeysuite is designed to be run on any environment (including public-facing, public IP-addressed production servers), and it has no known security flaws or backdoors. By using this library, you accept that any data you generate, any data you explicitly or inexplicitly share, or commit to VCS that is a product of ukeysuite, and any metadata that can be associated with it is in your liability. It is your obligation to ensure that your private data, which is generated by ukeysuite, is securely stored and, if transported by any means, is transported securely.

Contributing

I welcome contributions to enhance and improve this library! Whether you want to fix a bug, add a new feature, or suggest an improvement, your contributions are highly appreciated.

Just so you know, by contributing to this project, you agree to license your contributions under the same license governing this library. If you're unsure or have questions about the contribution process, please get in touch with me by opening an issue.

Credits

Feel free to contact me for collaboration on anything!

Ferit Yiğit BALABAN, fybalaban@fybx.dev

My WebsiteMy BentoXLinkedIn

2023

About

A suite to retrieve course information, keep a database and download items from UKEY (Uludağ KEY).

Resources

License

Stars

Watchers

Forks

Packages

No packages published