Skip to content

dmakram/Code-Practices

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Coding Practice

A TUI application that teaches coding fundamentals and allows practice of coding essentials.

image

Features

  • Lesson files organized in folders for easy updates
  • Exercise progress saved by language/framework, section, and lesson
  • Embedded Neovim instance for code editing
  • Mouse input support
  • Responsive terminal UI with navigation shortcuts
  • Progress tracking with markdown reports
  • Code solutions available on demand

What You Will Learn

  • Language/Framework Fundamentals: Comprehensive coverage of core concepts (As much as needed to cover what the Language/Framework Documentation Covers)
  • 10 Levels of Exercises: Progressive coding challenges from beginner to advanced
    • 10 Exercises
  • 10 Real World Project Essential Snippets: Practical code patterns used by professionals
  • 10 Real World Project Exercises: Complete mini-projects with real-world application

Supported Languages and Frameworks

Languages

  • Ruby
  • Python
  • Rust
  • JavaScript
  • CSS

Frameworks

  • Rails (Ruby web framework)
  • Django (Python web framework)
  • Django REST Framework (Python API framework)
  • Svelte (JavaScript frontend framework)
  • Tailwind CSS (Utility-first CSS framework)

Content Structure

For each language/framework, organized into four main sections:

1. Fundamentals (10 Lessons)

  • Comprehensive textbook-style lessons covering core concepts
  • Interactive code examples and exercises
  • Code solutions available on demand
  • No code execution - focus on learning concepts

2. 10 Levels of Exercises

  • Progressive difficulty from beginner to advanced
  • Algorithmic problems and coding challenges
  • Users set up their own development environment
  • Solutions provided for reference

3. 10 Real World Project Essential Snippets

  • Practical code patterns used in professional development
  • Common utilities, helpers, and best practices
  • Real-world application examples
  • Users implement in their own environment

4. 10 Real World Project Exercises

  • Complete mini-projects with real-world application
  • Build functional applications using learned concepts
  • Project checklists for tracking progress
  • Comprehensive solutions provided

User Journey

Inspired by gtypist and OpenCode TUI interfaces:

  1. Startup: User enters their name
  2. Language Selection: Choose from available languages/frameworks
  3. Section Selection: Pick Fundamentals, Levels, Snippets, or Projects
  4. Lesson Selection: Browse available lessons/exercises
  5. Learning Interface:
    • Top Panel: Lesson title, description/problem statement, session timer
    • Bottom Panel: Neovim editor for code writing (checklists for projects)
    • Controls: Navigation shortcuts, complete/finish buttons

Requirements & Technical Details

  • Navigation: Mouse input + keyboard shortcuts (j/k for navigation, Enter to select)
  • Code Persistence: Code saved only during session; progress persists across sessions
  • Progress Tracking: Markdown report files with checklists (e.g., "Progress Report - Username.md")
  • Timer: Tracks total session time
  • Editor: Embedded Neovim for advanced code editing
  • Platform: Linux/macOS/Windows (terminal-based)

Installation & Setup

Prerequisites

  • Rust (latest stable)
  • Neovim (for embedded editor)
  • Terminal with mouse support

Installation

git clone https://github.com/yourusername/coding-practice.git
cd coding-practice
cargo build --release

Running

./target/release/coding_practice

or

cargo run

License

MIT License - see LICENSE file for details

About

A TUI application that teaches coding fundamentals and allows practice of coding essentials.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages