Skip to content

A Github template repository for documenting technical skill-building challenges

License

Notifications You must be signed in to change notification settings

ggeerraarrdd/eevveerryyddaayy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

eevveerryyddaayy

A Github template repository for documenting technical skill-building challenges

Description

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.

The Crickets (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)

Table of Contents

Features

  • 📝 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

Project Structure

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

Prerequisites

  • Python 3.12 (not tested on other versions)
  • Familiarity with Jupyter Notebooks
  • Familiarty with VS Code

Getting Started

Dependencies

  • See requirements.txt

Installation

  1. Follow Github's documentation on Creating a repository from a template

    • The template repository is located here.
  2. 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>
  3. 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
  4. Install the Jupyter extension

    1. Go to the Extensions Marketplace on VS Code.
    2. Search for "Jupyter" by Microsoft.
    3. Click Install

    NOTE: Template repo tested only on v2024.11.0.

Configuration

  1. 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:

    If you don't want to change these default settings, skip to #4.

  2. Customize Index table settings

    1. Open the .env file (with default settings) in the root directory.

      # Extra Column
      NB=0
      NB_NAME="NB"
      
      # Sequential Numbering
      SEQ_NOTATION=0
    2. 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

    NOTE: These settings cannot be changed after the project has been initialized (see Usage #2).

  3. Customize Form settings

    1. If not already, open the .env file (with default settings) in the root directory.

      # Form Settings
      SITE_OPTIONS=["Codewars", "DataLemur", "LeetCode"]
    2. 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.

  4. Customize file template

    Open src/main/templates/solution.txt and change "[ ] Everyday" to your preferred project name.

  5. 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.

Usage

  1. Open the project folder on VS Code, if not already.

  2. Open eevveerryyddaayy.ipynb in the root directory.

  3. 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.

  4. Fill in the fields and click the submit button.

    Congratualtions! 🎉 You're a day closer to achieving your goal! 🎯

Author(s)

Version History

Release Notes

Initial Release

  • eevveerryyddaayy is the templetized version of SQL Everyday.

Future Work

  • Implement SEQ_SPARSE
  • Enhance error handling
  • Enhance configuration and input validations
  • Add unit tests

License

Contributing

  • This project is not accepting contributions at this time.

Acknowledgments

  • Coeus

Screenshots

eevveerryyddaayy

eevveerryyddaayy

Frontispiece

Buddy Holly and The Crickets performing "That'll Be The Day" [Still from broadcast]. The Ed Sullivan Show. CBS, December 1, 1957.