https://github.com/naugtur/example-unmaintainable-app
An app for teaching maintainability
https://github.com/naugtur/example-unmaintainable-app
Last synced: 6 months ago
JSON representation
An app for teaching maintainability
- Host: GitHub
- URL: https://github.com/naugtur/example-unmaintainable-app
- Owner: naugtur
- License: mit
- Created: 2016-10-19T09:13:02.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2016-12-16T13:15:49.000Z (almost 9 years ago)
- Last Synced: 2025-03-21T11:52:35.939Z (7 months ago)
- Language: JavaScript
- Size: 20.5 KB
- Stars: 0
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# example-unmaintainable-app
An app for teaching maintainability. Badly written on purpose.
I even went in and broke code formatting and conventions to trigger lint...
## Backend TODO
in no particular order### Configurations
- install eslint and add linting to test
- check code coverage### Fixing, refactoring
- cover with tests for safe refactoring
- add error handling
- make app more testable### Maintenance tasks
- remove code duplication
- split code into more modules
- add logging to understand app state better## Frontend TODO
in no particular order### Configurations
- set up eslint for frontend separately (will require separate config)
- check code coverage### Fixing, refactoring
- add redux to organize the app (use redux-promise-middleware to easily create async actions with fetch)
- keep components simple or consistent - either use `React.Component` base class everywhere OR go with functional style and only create components when you need to handle `mount` etc.
- cover components and reducers with tests
- use BEM for styling
- and now fix folder structure to be divided by features, not types of files (no, actions,reducers,components is not a good project structure)
- and now fix component tests to really check if components work, not if they didn't change a single character (tests should still pass when classes or tooltips or paragraphs with instructions are added)
- add error handling### Maintenance tasks
- add css preprocessor and build css with webpack from separate files imported in their modules OR use some other configuration for per-module css
- make it work in older browsers (IE10+, IE9 if you're overly ambicious and want to work for a bank or a corporation in near future)
- (if you have more time) add router