<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Nikel API Blog</title>
        <link>https://nikei-api.github.io/blog</link>
        <description>Nikel API Blog</description>
        <lastBuildDate>Sat, 27 Aug 2022 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <item>
            <title><![CDATA[Nikel migrated to Fly.io]]></title>
            <link>https://nikei-api.github.io/blog/migrated-to-fly</link>
            <guid>migrated-to-fly</guid>
            <pubDate>Sat, 27 Aug 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Nikel API has migrated to Fly.io. Please email api@nikel.ml if you encounter any issues with the service.]]></description>
            <content:encoded><![CDATA[<p>Nikel API has migrated to <a href="https://fly.io/" target="_blank" rel="noopener noreferrer">Fly.io</a>. Please email <a href="mailto:api@nikel.ml" target="_blank" rel="noopener noreferrer">api@nikel.ml</a> if you encounter any issues with the service.</p><div class="admonition admonition-note alert alert--secondary"><div class="admonition-heading"><h5><span class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>Acknowledgement of out of date data</h5></div><div class="admonition-content"><p>We know that course data is out of date. UofT decomissioned the course finder and other methods have to be used to scrape course data. If you want to help update parser code, please refer to the repo: <a href="https://github.com/nikel-api/nikel-parser" target="_blank" rel="noopener noreferrer">https://github.com/nikel-api/nikel-parser</a>.</p></div></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Cloudflare Outage in Canada]]></title>
            <link>https://nikei-api.github.io/blog/cloudflare-outage-canada</link>
            <guid>cloudflare-outage-canada</guid>
            <pubDate>Sat, 27 Mar 2021 00:00:00 GMT</pubDate>
            <description><![CDATA[Users in Canada might have troubles accessing Nikel API. This is most likely due to an unacknowledged issue with Cloudflare.]]></description>
            <content:encoded><![CDATA[<p>Users in Canada might have troubles accessing Nikel API. This is most likely due to an unacknowledged issue with Cloudflare.</p><p>If you have any questions regarding this outage, please contact Nikel API at <a href="mailto:api@nikel.ml" target="_blank" rel="noopener noreferrer">api@nikel.ml</a>.</p><p>Thank you.</p><div class="admonition admonition-note alert alert--secondary"><div class="admonition-heading"><h5><span class="admonition-icon"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 16"><path fill-rule="evenodd" d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"></path></svg></span>Update</h5></div><div class="admonition-content"><p>Update: The issue seems to be fixed, an incident is reported after the fact: <a href="https://www.cloudflarestatus.com/incidents/qjwxv73chh5b" target="_blank" rel="noopener noreferrer">https://www.cloudflarestatus.com/incidents/qjwxv73chh5b</a></p></div></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Looking for Sponsors]]></title>
            <link>https://nikei-api.github.io/blog/looking-for-sponsors</link>
            <guid>looking-for-sponsors</guid>
            <pubDate>Mon, 10 Aug 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[We are looking for sponsors!]]></description>
            <content:encoded><![CDATA[<p>We are looking for sponsors!</p><p>Nikel is yet move to a proper VPS, and any donations or donated compute resources is greatly appreciated.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="perks">Perks:<a class="hash-link" href="#perks" title="Direct link to heading">​</a></h3><ul><li>Name and logo shown on the footer of this website.</li><li>Name and logo shown on Nikel's GitHub Readme.</li></ul><p>Please email <a href="mailto:api@nikel.ml" target="_blank" rel="noopener noreferrer">api@nikel.ml</a> for more information.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Re: Nikel Status Page]]></title>
            <link>https://nikei-api.github.io/blog/re-nikel-status-page</link>
            <guid>re-nikel-status-page</guid>
            <pubDate>Wed, 05 Aug 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Nikel's status page at https://status.nikel.ml is back online.]]></description>
            <content:encoded><![CDATA[<p>Nikel's status page at <a href="https://status.nikel.ml" target="_blank" rel="noopener noreferrer">https://status.nikel.ml</a> is back online.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Nikel Status Page]]></title>
            <link>https://nikei-api.github.io/blog/nikel-status-page</link>
            <guid>nikel-status-page</guid>
            <pubDate>Tue, 04 Aug 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Nikel uses FreshPing as its uptime monitor. However, FreshPing's custom pages seem to not work currently.]]></description>
            <content:encoded><![CDATA[<p>Nikel uses FreshPing as its uptime monitor. However, FreshPing's custom pages seem to not work currently.</p><p>If you want to see Nikel's uptime stats here is a working link: <a href="https://statuspage.freshping.io/39964-NikelAPI" target="_blank" rel="noopener noreferrer">https://statuspage.freshping.io/39964-NikelAPI</a></p><p>We'll keep you posted on any updates...</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Looking for maintainers]]></title>
            <link>https://nikei-api.github.io/blog/looking-for-maintainers</link>
            <guid>looking-for-maintainers</guid>
            <pubDate>Sat, 01 Aug 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Don't worry, Nikel API isn't going anywhere.]]></description>
            <content:encoded><![CDATA[<p>Don't worry, Nikel API isn't going anywhere.</p><p>However, maintaining an API requires lots of work, so we are looking for maintainers for the various Nikel projects.</p><ul><li><a href="https://github.com/nikel-api/nikel" target="_blank" rel="noopener noreferrer">nikel-core</a>: Written in Go. Serves the API.<ul><li><a href="https://github.com/nikel-api/nikel-cache" target="_blank" rel="noopener noreferrer">nikel-cache</a>: Cache middleware for nikel-core.</li></ul></li><li><a href="https://github.com/nikel-api/nikel-parser" target="_blank" rel="noopener noreferrer">nikel-parser</a>: Written in Python. Parses data sources and generates datasets.</li><li><a href="https://github.com/nikel-api/nikel-ts" target="_blank" rel="noopener noreferrer">nikel-ts</a>: Written in Typescript. The official Node.js API wrapper for Nikel.</li><li><a href="https://github.com/nikel-api/nikel-docs" target="_blank" rel="noopener noreferrer">nikel-docs</a>: Written in Javascript + Markdown. Nikel API's documentation.</li></ul><p>If anyone is interested in working on a web app written in Vue: <a href="https://github.com/nikel-api/nikel-app" target="_blank" rel="noopener noreferrer">nikel-app</a>. Here is a <a href="https://nikel-api.github.io/nikel-app/" target="_blank" rel="noopener noreferrer">working demo</a>.</p><p>If you have any questions please contact us at <a href="mailto:api@nikel.ml" target="_blank" rel="noopener noreferrer">api@nikel.ml</a>.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Update 3]]></title>
            <link>https://nikei-api.github.io/blog/nikel-update-3</link>
            <guid>nikel-update-3</guid>
            <pubDate>Wed, 29 Jul 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[It has been a while since there was an update.]]></description>
            <content:encoded><![CDATA[<p>It has been a while since there was an update.</p><p>Nikel's growth is starting to slow down. This isn't a bad thing! It means that users are starting to stabilize. I hope that this period of stability will allow developers to become familiar with the API. The API is only a month old now, so it'll take a little while for people to gain trust of Nikel.</p><p>Stay tuned for more updates...</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Update 2]]></title>
            <link>https://nikei-api.github.io/blog/nikel-update-2</link>
            <guid>nikel-update-2</guid>
            <pubDate>Mon, 20 Jul 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Nikel has reached 1 million requests in the last 10 days!]]></description>
            <content:encoded><![CDATA[<p>Nikel has reached <strong>1 million requests in the last 10 days!</strong></p><p>Currently, the Nikel organization is developing a web/mobile app and is looking for contributors. If you are interested, please email <a href="mailto:api@nikel.ml" target="_blank" rel="noopener noreferrer">api@nikel.ml</a> for more information.</p><p>Stay tuned for more updates...</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Incident Report]]></title>
            <link>https://nikei-api.github.io/blog/incident-report-1</link>
            <guid>incident-report-1</guid>
            <pubDate>Thu, 16 Jul 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[What happened?]]></description>
            <content:encoded><![CDATA[<h3 class="anchor anchorWithStickyNavbar_mojV" id="what-happened">What happened?<a class="hash-link" href="#what-happened" title="Direct link to heading">​</a></h3><p>Around 10 EDT, there was a <a href="https://github.com/nikel-api/nikel/commit/a07a0927d252cef3d0991486a71537bea15c2e87" target="_blank" rel="noopener noreferrer">faulty commit</a> that happened to pass continuous integration.</p><p>This caused the API to return empty responses for about 10 hours and 30 minutes to 8:30 EDT.</p><p>A fix is released and the issue is resolved.</p><p>Sorry for any inconveniences caused,</p><p>Daren Liang</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Update 1]]></title>
            <link>https://nikei-api.github.io/blog/nikel-update-1</link>
            <guid>nikel-update-1</guid>
            <pubDate>Tue, 14 Jul 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Nikel's going strong, serving roughly 100k requests daily!]]></description>
            <content:encoded><![CDATA[<p>Nikel's going strong, serving roughly 100k requests daily!</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="whos-using-nikel">Who's using Nikel?<a class="hash-link" href="#whos-using-nikel" title="Direct link to heading">​</a></h3><p>A few projects are using Nikel.</p><ul><li><a href="https://github.com/MuradAkh/UofTCourseInfo" target="_blank" rel="noopener noreferrer">UofTCourseInfo</a> by <a href="https://github.com/MuradAkh" target="_blank" rel="noopener noreferrer">MuradAkh</a></li><li><a href="https://github.com/vodanny1/UofT-App" target="_blank" rel="noopener noreferrer">UofT-App</a> by <a href="https://github.com/vodanny1" target="_blank" rel="noopener noreferrer">vodanny1</a></li><li><a href="https://github.com/platers/UofT-Prerequisite-Checker" target="_blank" rel="noopener noreferrer">UofT-Prerequisite-Checker</a> by <a href="https://github.com/platers" target="_blank" rel="noopener noreferrer">platers</a></li></ul><p>There are more projects using Nikel (either private or not GitHub).</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="you-made-something-with-nikel-what-now">You made something with Nikel. What now?<a class="hash-link" href="#you-made-something-with-nikel-what-now" title="Direct link to heading">​</a></h3><p>Great! If you want a place to show your project to the world, please submit a pull request to add your project to the <a href="/showcase">showcase page</a>.</p><p>❤️ Much thanks for everyone's support,</p><p>Daren Liang</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Next Steps]]></title>
            <link>https://nikei-api.github.io/blog/next-steps</link>
            <guid>next-steps</guid>
            <pubDate>Tue, 07 Jul 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[Thank You!]]></description>
            <content:encoded><![CDATA[<h3 class="anchor anchorWithStickyNavbar_mojV" id="thank-you">Thank You!<a class="hash-link" href="#thank-you" title="Direct link to heading">​</a></h3><p>Nikel API has come a long way since its initial release about 3 weeks ago. To date, Nikel API has served close to <strong>80k requests</strong>.</p><p>Thank you for the continued support for Nikel API!</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="contributers--team-members">Contributers / Team members<a class="hash-link" href="#contributers--team-members" title="Direct link to heading">​</a></h3><p>Nikel is currently maintained by one person (me). I believe that to make this project sustainable for years to come, we will need to create an environment where people can collaborate and share ideas.</p><p>Contributing to open source can be daunting/overwhelming, which is why I want to make this project as friendly as possible to newcomers.</p><p>If you are interested in contributing to Nikel API or want to take part in the development process, please contact us at <a href="mailto:api@nikel.ml" target="_blank" rel="noopener noreferrer">api@nikel.ml</a> so we can add you to the <a href="https://github.com/nikel-api" target="_blank" rel="noopener noreferrer">GitHub organization</a>.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="api-wrappers">API Wrappers<a class="hash-link" href="#api-wrappers" title="Direct link to heading">​</a></h3><p>I'm currently looking for people who want to develop API wrappers for Nikel API.</p><p>Currently, there are two API wrappers for Nikel:</p><ul><li><a href="https://www.npmjs.com/package/nikel" target="_blank" rel="noopener noreferrer">nikel-ts (Node.js - Official)</a></li><li><a href="https://crates.io/crates/nikel-rs" target="_blank" rel="noopener noreferrer">nikel-rs (Rust)</a></li></ul><p>It would be amazing if more languages had API wrappers since it would make using the API much easier and simpler for newcomers.</p><p>Thanks again,</p><p>Daren Liang</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Welcome to Nikel API!]]></title>
            <link>https://nikei-api.github.io/blog/welcome</link>
            <guid>welcome</guid>
            <pubDate>Sat, 13 Jun 2020 00:00:00 GMT</pubDate>
            <description><![CDATA[What is Nikel API?]]></description>
            <content:encoded><![CDATA[<h3 class="anchor anchorWithStickyNavbar_mojV" id="what-is-nikel-api">What is Nikel API?<a class="hash-link" href="#what-is-nikel-api" title="Direct link to heading">​</a></h3><p>Nikel (pronunciation: <code>/'ni:kɛl/</code>) is a collection of data APIs for the <a href="https://www.utoronto.ca/" target="_blank" rel="noopener noreferrer">University of Toronto</a>. It's aimed to be a viable replacement for the now unmaintained and non-functioning <a href="https://cobalt.qas.im/" target="_blank" rel="noopener noreferrer">Cobalt API</a>.</p><p>Nikel API is built with performance in mind with request caching and low latency querying. The Nikel Core is written in 100% <a href="https://golang.org/" target="_blank" rel="noopener noreferrer">Go</a> using the <a href="https://github.com/gin-gonic/gin" target="_blank" rel="noopener noreferrer">Gin Web Framework</a> for reliability and speed.</p><p>As a result, <strong>Nikel API will always be free and unlimited</strong>.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="why">Why?<a class="hash-link" href="#why" title="Direct link to heading">​</a></h3><p>A crucial part of applications are APIs. The Nikel API is aimed to assist students and developers in providing high quality data APIs on the University of Toronto.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="contributing">Contributing<a class="hash-link" href="#contributing" title="Direct link to heading">​</a></h3><p><a href="https://github.com/nikel-api" target="_blank" rel="noopener noreferrer">Nikel is opensource</a>. If you want to contribute, pull requests are always welcome. Any help is greatly appreciated.</p><h3 class="anchor anchorWithStickyNavbar_mojV" id="next-steps">Next Steps<a class="hash-link" href="#next-steps" title="Direct link to heading">​</a></h3><p>Here's a list of things Nikel will hopefully accomplish in the future:</p><ul><li>Add more endpoints</li><li>Deploy Nikel Core on a proper VPS</li></ul><h3 class="anchor anchorWithStickyNavbar_mojV" id="questions">Questions?<a class="hash-link" href="#questions" title="Direct link to heading">​</a></h3><p>Send your questions to <a href="mailto:api@nikel.ml" target="_blank" rel="noopener noreferrer">api@nikel.ml</a>.</p>]]></content:encoded>
        </item>
    </channel>
</rss>