Welcome to the Problems repository! This is a learning project focused on algorithm implementation and problem-solving. The application provides a web interface for practicing coding problems with immediate feedback through automated tests.
The Problems repository currently offers:
- Two Core Problems: Anagram checking and the Knapsack problem
- Web Interface: A simple, clean interface for viewing problems and their descriptions
- Code Testing: Basic test validation for submitted solutions
- Problem Documentation: Markdown-based problem descriptions with examples
-
Problem Structure:
- Each problem is self-contained with its implementation and tests
- Problems are categorized by difficulty (Easy/Medium)
- Test cases validate core functionality
-
Web Interface:
- FastAPI backend with Jinja2 templates
- Problems are displayed with Markdown formatting
- Basic routing between problems and documentation
-
Backend:
- Python 3.10+
- FastAPI for the web framework
- Pytest for test cases
-
Frontend:
- HTML/CSS for layout and styling
- Basic JavaScript for interactivity
- Markdown rendering for problem descriptions
-
Development Tools:
- Poetry for dependency management
- Ruff for linting
- MyPy for type checking
You need Python 3.10 or later and Poetry. Install Poetry using:
curl -sSL https://install.python-poetry.org | python3git clone https://github.com/Hugues-DTANKOUO/problems.git
cd problemspoetry installStart the local development server:
poetry run serverVisit http://127.0.0.1:8000 in your browser.
Currently, four problems are implemented:
-
Anagram Checker (Easy)
- String comparison problem
- View Implementation
-
Palindrome Checker (Easy)
- String pattern matching problem
- View Implementation
-
Knapsack Problem (Medium)
- Classic optimization problem
- View Implementation
-
N Queens Puzzle (Hard)
- Chess board placement problem
- View Implementation
Contributions are welcome! See our Contributing Guide for details about:
- Project setup
- Development workflow
- Code style guidelines
- Testing requirements
Ways to contribute:
- Implementing new problems
- Improving existing problems
- Enhancing documentation
- Adding tests
- Fixing bugs
Maintained by Hugues Dtankouo, a Senior Full Stack Developer with extensive Python experience.
📧 Contact: huguesdtankouo@gmail.com
🔗 LinkedIn: Hugues Dtankouo
🔗 GitHub: Hugues-DTANKOUO
- License: MIT License
- Change Log: CHANGELOG.md
This is an early-stage project with basic functionality implemented. Future plans include:
- User authentication
- More problem categories
- Enhanced UI/UX
- Progress tracking
- Community features
Contributions and feedback are highly appreciated!
The project is currently focused on:
- Stabilizing core functionality
- Improving test coverage
- Enhancing documentation
- Adding new problems
