schedulr3.0.0.mp4
- Requirements
- Installation
- Usage
- Key Binding
- Project status
- Contributing
- Development Guide
- Tech Stack
- Changelog
- Privacy policy
- License
- Why this project?
- Buy me a coffee
- Credit
- Frequently Asked Questions (FAQs)
- MMU student with "Active" current student status ONLY.
- Chrome browser ONLY.
- Go to the extension's page or search up "Schedulr" in Chrome Web Store.
- Click "Add to Chrome".
Note: Some steps after step 4 may vary depending on your target calendar.
- Go to "View My Classes/Schedule > By Class" in CliC. (Ensure all subjects are expanded)
- Go to "Instructor WorkCenter > My Weekly Schedule" in CLiC.
- Open the extension by using the shortcut key or by clicking the extension icon.
- An authentication window will appear, grant permission for both scopes and then reopen the extension.
- Select Transfer to Google Calendar, then click Confirm.
- Select all the necessary options.
- Press the Submit button to transfer timetable to Google Calendar.
- Select Download an .ics file, then click Confirm.
- Select all the necessary options.
- Press the Submit button to download the .ics file.
- Go to your target calendar and import the .ics file.
Tip: An .ics file lets you import events into other calendar apps like Outlook.
The shortcut key opens up the popup page
- Linux and Windows -
Alt+Shift+S
- macOS -
Command+Shift+S
Schedulr version 3.0.2 is available on Chrome Web store as of now.
Schedulr is an open-source project designed to assist fellow MMU peers. I invite you to participate in various ways to contribute and enhance the project!
Feel free to explore the contribution guidelines below to get started. Your involvement is greatly appreciated!
- Javascript, basic web scraping knowledge
- Basic understanding of Google Calendar API
- Familiar with chrome extension development, manifest v3. Easy tutorial by google here
Note: This guide is based on Google Chrome's workflow, so some of the steps (especially manifest.json
format) may not directly apply to other browsers. Please refer to the respective browser's documentation for more information.
-
Clone the Repository
$ git clone https://github.com/sycanz/schedulr
-
Prepare
manifest.json
- Rename
template_manifest.json
tomanifest.json
- Remove the "key" and "oauth2" fields (for now).
- Rename
-
Load the Extension into Chrome
- Open Chrome browser and go to
chrome://extensions/
- Enable Developer mode (toggle switch at the top right)
- Click on
Load unpacked
and select the cloned repository - The extension should now be loaded in your browser
- Open Chrome browser and go to
-
Set Up Google Cloud Project:
- Create a new project in the Google Cloud Console.
- Enable the Google Calendar API.
- Generate an OAuth 2.0 credentials (OAuth Client ID) with the application type Chrome extension, Item ID (can be retrieved from
chrome://extensions
).
-
Environment Configuration:
- Add the "oauth2" fields to the
manifest.json
file and fill in theclient_id
(the one you generated) andscopes
(remain as usual) fields.
- Add the "oauth2" fields to the
-
Test and Contribute:
- Test the extension by importing your timetable into Google Calendar.
- Make changes and submit a pull request. Please follow the pull request template here.
- Javascript
- Google calendar API
- HTML, CSS
Detailed changes for each release are documented in the release notes.
Please read the Privacy Policy for this extension before proceeding.
This project is licensed under the GNU General Public License v3.0 - see the LICENSE
I seem to have developed a bit of an addiction to espresso shots, so if you're feeling generous, feel free to buy me a coffee!
This project was developed at Hackerspace MMU. Also shoutout to a couple of friends who helped me out on this project.
Q: What browser does Schedulr currently support?
A: Google Chrome as of now.
Q: Do I have to pay for this extension?
A: No, Schedulr is free to use for all active MMU students/lecturers and open-source.
Q: Why are some of my classes not showing up in the timetable?
A: Ensure you have expanded all subjects in the "By Class" page.
Q: Do I need to grant permission every time I open the extension? And should I grant permission for both scopes in the authentication window?
A: You only need to grant permission once and you're good to go. And yes you absolutely should grant permission for both scopes, otherwise the extension will not work properly.
Q: Should I be worried about my privacy when using this extension?
A: No, the extension only reads your timetable and transfers it to your calendar. It does not store any personal data.
Q: Can I use this extension for other universities?
A: No, this extension is specifically designed for MMU students and lecturers only.
Q: Are there any plans to support other browsers?
A: Maybe in the future, but for now, the focus is on Chrome.
Q: Can I rely on this extension for my timetable?
A: Somewhat, reason being CLiC might have unexpected bugs or changes that might affect the extension.
Q: How can I contribute to this project?
A: There are things like bug fixes, feature requests, code, and documentation that you can contribute to. Check out the contribution guidelines
Q: Where can I get any help or support?
A: Check if the encountered issues are mentioned in this documentation. If not, you can communicate with me through email, issue tracker, or discord