A Github template repository for documenting technical skill-building challenges
Note
ALL CONTENTS IN THIS REPO ARE FOR EDUCATIONAL PURPOSES ONLY.
Note
This is the documentation for the Github template repository eevveerryyddaayy
located here, which is the templetized version of SQL Everyday
.
eevveerryyddaayy
is a Github template repository intended for those who want to simplify the process of documenting their self-learning journey. Whether you are a student fresh out of college or an experienced developer in the workforce, this platform helps track your daily practice, skill-building challenges or technical interview preparation progress in one organized space.
Think of it as a portfolio-builder. eevveerryyddaayy
automates the process of file creation, organizing and storing, as well as indexing your record of personal achievements and development over time. This streamlining allows you to spend more time on what matters most - the actual learning.
(Everyday, it's a gettin' closer / Goin' faster than a roller coaster / Push like yours will surely come my way, a-hey, a-hey-hey / Push like yours will surely come my way)
- Description
- Features
- Project Structure
- Prerequisites
- Getting Started
- Author(s)
- Version History
- Future Work
- License
- Contributing
- Acknowledgments
- Screenshots
- 📝 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
- 📊 Daily Progress Tracking - Visualizes your learning journey in tabular form
- 📚 Solution Repository - Showcases different approaches to programming challenges
- 📖 Educational Notes - Documents key programming concepts and techniques
- ⚡ Jupyter Notebook Interface - Simplifies data entry through a form-like template
eevveerryyddaayy-template/
│
├── src/
│ ├── __init__.py
│ │
│ ├── main/
│ │ ├── __init__.py
│ │ │
│ │ ├── config/
│ │ │ └── __init__.py
│ │ │
│ │ ├── helpers/
│ │ │ └── __init__.py
│ │ │
│ │ ├── templates/
│ │ │
│ │ ├── main.py
│ │ └── notebook.py
│ │
│ └── tests/
│ └── __init__.py
│
├── solutions/
│
├── eevveerryyddaayy.ipynb
│
├── docs/
├── .gitignore
├── LICENSE
├── README.md
└── requirements.txt
- Python 3.12 (not tested on other versions)
- Familiarity with Jupyter Notebooks
- Familiarty with VS Code
- See
requirements.txt
-
Follow Github's documentation on Creating a repository from a template
- The template repository is located here.
-
Clone the new repository
- Open a terminal widow in VS Code.
- Navigate to where you want the repository directory saved.
git clone <your-repository-url>
-
Setup 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
-
Install the Jupyter extension
- Go to the Extensions Marketplace on VS Code.
- Search for "Jupyter" by Microsoft.
- Click
Install
NOTE: Template repo tested only on v2024.11.0.
-
Default Index table and Form settings
Index Table:
- The table contains 5 default columns. You can add a 6th column.
- The name of an activated sixth column is "NB". You can choose a different name.
- The first column uses sequential numbering (e.g. "001", "002"). You can switch to date format.
Form:
- The default Site list in the Form includes: Codewars, DataLemur and LeetCode. You can add and remove.
If you don't want to change these default settings, skip to #4.
-
Customize Index table settings
-
Open the
.env
file (with default settings) in the root directory.# Extra Column NB=0 NB_NAME="NB" # Sequential Numbering SEQ_NOTATION=0
-
Add your preferred settings
- To add a 6th column:
NB=1
- To change its default name:
NB_NAME="Your Preferred Name"
- To switch to date format:
NB=1
- To add a 6th column:
NOTE: These settings cannot be changed after the project has been initialized (see Usage #2).
-
-
Customize Form settings
-
If not already, open the
.env
file (with default settings) in the root directory.# Form Settings SITE_OPTIONS=["Codewars", "DataLemur", "LeetCode"]
-
Add your preferred settings
- Edit 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. This is for when your project will involve only one site.
NOTE: Unlike the extra column and sequential numbering settings, you can change this setting again after project initiliazation.
-
-
Customize file template
Open
src/main/templates/solution.txt
and change "[ ] Everyday" to your preferred project name. -
Customize README
Feel free to make any changes to README, including the title and description of your project.
Important
The markdown comments around the Index table must not be modified or deleted.
-
Open the project folder on VS Code, if not already.
-
Open
eevveerryyddaayy.ipynb
in the root directory. -
Execute the cell containing the python code or
Run All
to display the form interface.NOTE: The project is initialized when this is done for the first time.
-
Fill in the fields and click the submit button.
Congratualtions! 🎉 You're a day closer to achieving your goal! 🎯
eevveerryyddaayy
is the templetized version ofSQL Everyday
.
- Implement
SEQ_SPARSE
- Enhance error handling
- Enhance configuration and input validations
- Add unit tests
- 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.