https://github.com/nasops/monkknows
A Legacy code project rewritten from Python to Ruby for a DevOps class
https://github.com/nasops/monkknows
devops legacy-code python ruby
Last synced: 6 days ago
JSON representation
A Legacy code project rewritten from Python to Ruby for a DevOps class
- Host: GitHub
- URL: https://github.com/nasops/monkknows
- Owner: nasOps
- Created: 2026-01-29T14:33:41.000Z (2 months ago)
- Default Branch: development
- Last Pushed: 2026-04-06T11:09:22.000Z (7 days ago)
- Last Synced: 2026-04-06T12:23:21.709Z (7 days ago)
- Topics: devops, legacy-code, python, ruby
- Language: Ruby
- Homepage: http:www.monkknows.dk
- Size: 14.1 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 63
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MonkKnows
###### Sinatra Ruby
[](https://github.com/nasOps/MonkKnows/actions/workflows/ci.yaml)    
###### Flask Python (Legacy)
 
A search engine originally built in 2009, currently being migrated from Flask (Python) to Sinatra (Ruby) as part of a DevOps project.
---
## Repository Structure
```text
MonkKnows/
├── .github/
│ ├── ISSUE_TEMPLATE/
│ └── workflows/
│ └── ci.yaml
├── docs/
│ ├── branching-strategi/
│ ├── choices-and-challenges/
│ └── openapi/
├── legacy-flask/ # Python legacy application
├── ruby-sinatra/ # Active Ruby/Sinatra application
└── .gitignore
```
---
## Migration Strategy
Flask and Sinatra run side by side during migration. Functionality is moved route by route – read-only endpoints first, authentication and write logic later. Both versions share the same SQLite database in the interim.
---
## Setup
### Ruby / Sinatra
```bash
cd ruby-sinatra
bundle config set --local path vendor/bundle
bundle install
bundle exec ruby app.rb
```
App runs on `http://localhost:4567`
### Python / Flask (Legacy)
```bash
cd python-legacy
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py
```
App runs on `http://localhost:5000`