A web site (bloomlibrary.org) for sharing literacy materials, especially templates for translation into minority languages.
Language speakers find books in their own language, and book creators find shellbooks to translate. They upload these to share them with the world.
Install yarn (https://yarnpkg.com/lang/en/docs/install/#windows-stable)
You'll need nodejs installed. As time goes on, the required version of nodejs changes. Currently our team has volta installed, and with that, you automatically get the right version of nodejs that this project requires.
Finally, run yarn in a command line (e.g. in VSCode) to install dependencies.
yarn
To run the code locally, do:
yarn start
This runs the app in the development mode and should open a web browser page at http://localhost:3000.
The page will reload if you make edits.
You will also see any lint errors in the console.
To run the unit tests, do
yarn test
See the section about running tests for more information.
This project talks to a Parse server to get the list of books. This can be the Production Parse server, or the Development Parse server, or a locally hosted Parse server. You can manually change which server it talks to if needed.
Go to the file ParseServerConnection.ts
and modify it to point to the desired server.
This project depends upon the companion bloom-player repository to provide the book reading experience. This is installed as a normal dependency. However, sometimes during the development process you may wish to run your own local build of bloom-player.
If you need to do that, there are a couple options:
One option is to yarn link
to the local bloom-player source code on the same computer.
Official documentation: https://classic.yarnpkg.com/lang/en/docs/cli/link/
Another option is to manually copy the bloom-player build to BloomLibrary.
In the bloom-player repository, build it there:
yarn build-dev
(or yarn build
)
bloom-player will build it in its dist
folder. Overwrite this project's node_modules/bloom-player/dist
folder with the newly-built dist
folder from bloom-player. (Remember to restore the original dist
folder when you're done)
We use YouTrack Kanban boards.
Each time code is checked in, an automatic build begins on our TeamCity build server, running all the unit tests.
This project was bootstrapped with Create React App.
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.
Note: this is a one-way operation. Once you eject
, you can’t go back!
If you aren’t satisfied with the build tool and configuration choices, you can eject
at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject
will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
You don’t have to ever use eject
. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
Bloom is open source, using the MIT License. It is Copyright SIL Global. "Bloom" is a registered trademark of SIL Global.