A Github template repository for documenting technical skill-building challenges
Note
ALL CONTENTS IN THIS REPO ARE FOR EDUCATIONAL PURPOSES ONLY.
- Description
- Target Users
- Features
- Project Structure
- Prerequisites
- Getting Started
- Usage
- System Administration
- Author(s)
- Version History
- Future Work
- License
- Contributing
- Acknowledgments
- Screenshots
eevveerryyddaayy is a GitHub template repository. It is the templatized version of SQL Everyday, a personal skill-building challenge that necessitated an automated and streamlined framework to enable consistent daily practice and to manage an ever-growing coding portfolio.
eevveerryyddaayy automates many of the tedious manual work associated with the documentation process, such as handling file creation and organizing project materials. This frees up more time on what matters mostβthe actual learning.
(Everyday, it's a gettin' closer / Goin' faster than a roller coaster / Skills like yours will surely come my way, a-hey, a-hey-hey / Skills like yours will surely come my way)
eevveerryyddaayy is intended for self-directed learners, such as:
- Those committing to consistent technical skill practice.
- Those seeking to track their progress for quick reference, knowledge retention and accountability.
- Those wanting their record of daily practice organized into an accessible portfolio.
- Those hoping to automate as much of the project management as possible.
- π Portfolio Builder - Transforms a Github repository into a coding portfolio website with README.md serving as the homepage
- π Automated File Management - Creates and organizes daily practice files
- ποΈ Automated Indexing - Creates and maintains a table of contents of your files for quick reference and access
- β¨ Dynamic Markdown Tables - Intelligently adjust column widths to accommodate new content, maintaining alignment and readability
- π Daily Progress Tracking - Visualizes your learning journey in tabular form
- π Solution Repository - Showcases different approaches to programming challenges
- β‘ Jupyter Notebook Interface - Simplifies data entry through a form-like template
eevveerryyddaayy/
β
βββ src/
β βββ __init__.py
β β
β βββ config/
β β βββ __init__.py
β β
β βββ forms/
β β βββ __init__.py
β β
β βββ handlers/
β β βββ __init__.py
β β
β βββ templates/
β β βββ __init__.py
β β
β βββ utils/
β β βββ __init__.py
β β
β βββ app.py
β
βββ solutions/
β
βββ every_entry.ipynb
βββ every_start.ipynb
βββ every_update.ipynb
β
βββ .vscode
βββ assets/
βββ docs/
βββ .gitignore
βββ .pylintrc
βββ LICENSE
βββ README.md
βββ requirements.txt
- Python 3.12
- Not tested on other versions
- VS Code as your development environment
- Familiarity with Jupyter Notebooks
- Jupyter extension for VS Code
- Required for running notebook files
- IMPORTANT: Install specifically version
v2024.11.0
- not tested on any other version - From VS Code marketplace: Extensions icon β βοΈ icon next to Jupyter β Install Another Version β Select v2024.11.0
- See
requirements.txt
-
Follow Github's documentation on Creating a repository from a template
-
Clone the new repository
git clone your-repository-url
-
Set up a Python virtual environment
python3 -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` pip install --upgrade pip pip install -r requirements.txt
-
Default settings
Project Title:
- The default title is "[ ] Everyday". You can choose a different title.
Index Table:
- The default index table has 5 columns. You can add a 6th column.
- The default name of an activated sixth column is "NB". You can choose a different name.
- The first column uses sequential numbering as default (e.g. "001", "002"). You can switch to date format.
Form:
-
Initialize project with default settings
- Open the
every_start.ipynb
notebook in the root directory. - Run all code cells by clicking
Run All
. - Skip to #5.
- Open the
-
Initialize project with custom settings
-
Open the
every_start.ipynb
notebook in the root directory. -
Modify the code cell containing configuration settings (see #4 for details of options):
# Project: Title PROJ_TITLE='[ ] Everyday' # Index Table: Extra Column NB=0 NB_NAME='NB' # Index Table: Sequential Numbering SEQ_NOTATION=0 # Index Table: Sequential Gaps SEQ_SPARSE=0 # Form: Site Options SITE_OPTIONS=['Codewars', 'DataLemur', 'LeetCode']
-
Run all code cells by clicking
Run All
.
-
-
Configuration options explained
Project Title:
- Change
PROJ_TITLE
to your preferred project title.
Index Table:
- To add a 6th column:
NB=1
- To customize the 6th column name:
NB_NAME='Your Preferred Name'
- To switch to date format instead of sequential numbering:
SEQ_NOTATION=1
- To allow gaps in sequential numbering:
SEQ_SPARSE=1
Form:
- Customize
SITE_OPTIONS
with your preferred sites as a list of strings. - If there is only one item in the list, that site becomes the only option and default value.
- Change
-
Customize README.md
After the project has been initialized,
README.template.md
should be the newREADME.md
in the root directory. A copy of the previousREADME.md
with the project documentation is stored indocs
.Feel free to make changes to the new
README.md
, including the title and description of your project.β οΈ IMPORTANT: The Index table, including its enclosing markdown comments, can be placed elsewhere but must not be modified in any other way or deleted.
-
Open the project folder on VS Code, if not already.
-
Open
every_entry.ipynb
in the root directory. -
Execute the cell containing the python code or
Run All
to display the form interface. -
Fill in the fields and click the submit button.
π Congratulations! You're a day closer to achieving your goal!
If you need to modify your project settings after initialization:
- The upcoming feature will support configuration updates through
every_update.ipynb
. - This will allow you to change project settings without starting from scratch.
- Currently, some settings like Index Table structure can only be set during initialization.
- eevveerryyddaayy is the templatized version of SQL Everyday.
- Filter for the
enhancement
label in Issues.
- This project is not accepting contributions at this time.
- Coeus
Buddy Holly and The Crickets performing "That'll Be The Day" [Still from broadcast]. The Ed Sullivan Show. CBS, December 1, 1957.