Skip to content

Notion class notes/study template automated using a CLI to seamlessly integrate scientifically proven study techniques with minimal friction.

License

Notifications You must be signed in to change notification settings

SenaThenu/StudySphere

Repository files navigation


Logo

Rocket StudySphere Rocket

Sparkles Streamline your study journey with this open-source Notion template, integrating scientifically-backed techniques for maximum effectiveness. Sparkles
Report a Bug Bug or Request a New FeatureStar

License GitHub contributors Version Stars Forks Issues

Download StudySphere Template

Table of Contents Scroll

About The Project Open Book

Elevate your study game with this open-source Notion template—it's like having a personal study cheerleader! This template embraces the science-backed power of Active Recall and Spaced Repetition, all while adding a dash of fun with a traffic light system that guides your way.

The best part? Our trusty manager.py script automates the whole process kicking your friction in the butt! It's all about working smart, not hard, in this nonprofit study revolution!

Jump to TopPointing Up

Built With Wrench

Python Notion API

Jump to TopPointing Up

Getting Started Traffic Lights

To get started, download the code using any of the methods as shown below. (To get this, click on "Code" on the top-right)

Download the Code

Prerequisites Clipboard

  1. You have to duplicate the StudySphere Notion Template (unless you wanna create one from scratch :) Download it by following this link!

  2. Make sure Python is installed on your computer! You can install it via Python Official Website!

  3. Afterwards, to run the trusty manager.py program, you need to install some third-party packages. So, open the terminal in the folder where you have the downloaded code. Then run,

    `pip install -r requirements.txt`
    

Then, follow the instructions of the following video...

demo.mp4

Jump to TopPointing Up

Usage Rocket

How the Template Works

Basically, it's a database where you can store your class/lecture notes divided into main subjects/topics (or whatever you wanna call them). To keep things simple, we call them branches!

Every note you store in the StudySphere is associated with 3 Repetition Interval Columns (Rep 1, Rep 2, Rep 3) for you to store spaced repetition dates and 3 Repetition Rates columns to rate how confident you felt (green, yellow, red).

Of course, you can add more... Just make sure to update the settings!

Based on your ratings, your strength is calculated regarding the content in that note. So, all the notes are sorted according to the strength.

Then, there is a Revision Rep Column to perform revision on the notes when you have an exam ahead.

How the Program Works

Instead of letting you manually set spaced repetition and revision dates (which is dreadful), it automatically sets them.

Note: this is just what it is capable of currently...

Yet, as a community, especially during this Hacktoberfest, we can extend it further. We all (including you) power up this! So, why are you waiting? Go ahead... It's okay to make mistakes. We all are learning forever!

Jump to TopPointing Up

User Settings

Setting Description Default
API_KEY Your API Key. Watch the above video for help! Nothing :O
StudySphere_ID The Database ID of the StudySphere. Nothing :O
Instructions Whether instructions should be displayed or not. True
Rep_Col_Names A name list of all columns which store spaced repetition dates. Rep 1, Rep 2, Rep 3
Rep_Intervals A list of Spaced Repetition intervals in days. 7, 21, 60
Notes_Title_Col_Name The column name which stores the names of notes stored in a branch! Lesson
Revision_Col_Name Name of the column which stores revision dates! Revise Rep

Note

You don't have to deal with Col_Names as long as you stick to the template :)

Roadmap World Map

I have listed some unaccomplished features you can start working on. Plus, you can even make a non-code contribution to Hacktoberfest by adding more features to this roadmap!

  • Automatic Spaced Repetition Dates Setter Sparkles
  • Automatic Revision Scheduler Sparkles
    • Smart Revision Setter - Setting revision for notes whose strength is below a specific limit. Sparkles
    • Individual Date Selection for Each Note Sparkles
  • Flexible Parameters that can be modified using setting) Sparkles

See the open issues for a full list of proposed features (and known issues).

Jump to TopPointing Up

Contributing Waving Hand

Welcome Code Wizards & Witches! Man MageWoman Mage Your contributions fuel Fire this repo!!!
Let's show the power Muscles of Open-Source!

Why are open-source developers the sweetest folks in tech? Lollipop

Because they believe in sharing not only code but also smiles Laugh and love Beating Heart through 0s and 1s!


  • Ways to Contribute Hugging Face

    • Open Issues

    • Update Readme

    • Make the Logo and the Assets Cooler

    • Introduce an awesome feature Glowing Star

      1. Fork the Project Fork
      2. Create your Feature Branch (git checkout -b my_awesome_feature_branch)
      3. Commit your Changes (git commit -m 'Add some awesome features')
      4. Upstream this repository (git remote add origin https://github.com/SenaThenu/StudySphere.git)
      5. Push to the Main Branch of this repo (git push origin my_awesome_feature_branch)
      6. Open a Pull Request Rocket

      If you want help with Git check out this Fireship video: Git It!

Jump to TopPointing Up

Current Contributors Man Mage

Star FaceThis wouldn't exist if it weren't for these developers! Our Gratitude!!! (emoji key): Bubbles

"Even when I lose, I'm winning
'Cause I give you all of me
And you give me all of you"
_~ All of Me - John Legend_

Senash Thenuja
Senash Thenuja

💻 📖 📋

Acknowledgments \w Sparkling Heart

Jump to TopPointing Up