NOTE: This document is non-final. Feel free to open a Pull Request with your proposed changes.
After reviewing the features requested during the past year, as well as considering the development efforts required to move the project forward, below are the proposed changes for this project in order to reach version 1.0:
-
'Undockerization' of the project. The project structure makes a lot of assumptions about its build and deployment environment. The project will still support Docker based deployments via provided Docker base images (and corresponding Dockerfiles).
-
Simplification of the web app. Our current setup can be overwhelming for new contributors as there is plenty of added complexity as the project evolved.
-
Rewrite of the API service. The current backend code has allowed the project to grow very quickly while adapting to the evolving feature set. That being said, the implementation of more elaborate features could benefit from a framework that allows the contributors to rely on community conventions, which at the same time help us lower maintenance efforts and increase developer productivity. New contributors would benefit too from the use of well-known frameworks by being able to look up existing documentation and resources which help them get started with the project structure.
- Import existing translation files.
- Batch insert / update project keys.
- Recover forgotten passwords.
- Export all project locales.
- Tagging keys support.
- Redesign of the API. The current API could benefit from a redesign that favors the primary use cases of the project, as well as a more consistent RESTful interface.
- More translations of the web app itself (en, de, es, zh, fr, it, pt)?.
- More filtering options (e.g. untranslated locales and keys).
- Support for in-memory databases to simplify 'test run' and developer setup.
- Adding tests when practical to both backend and frontend code. Will be handled as part of the rewrite.
Bug fixes will be included as part of the v1.0 effort on a case by case basis, depending on it's severity and implications.