BibSpace is an Online Bibtex Publications Management Software for Authors and Research Groups. Read about its features at the Error Blog under: BibSpace @ the Error Blog.
- See INSTALL.md
To run BibSpace tests (inside Docker), run the following commands.
docker-compose build
docker-compose -f docker-compose.yml -f docker-compose.test.yml up
To run BibSpace in production mode, run the following commands:
docker-compose build
docker-compose -f docker-compose.yml up -d
That's it! Point you browser to http://localhost:8083/ to open BibSpace.
You may stop the container with
docker-compose down
The MySQL data is stored in db_data
, whereas preferences and stats in json_data
.
- Make backup
- Replace code with the code from a newer version:
git clone --branch <version> https://github.com/vikin91/BibSpace.git
Whereas <version>
equals the name of a branch or release tag, for example: v0.5.4
.
- (Optional) Restore backup if any data got lost.
- Make backup
- Stop Docker containers
docker-compose down
- Download
docker-compose.yml
file from Github - Change the image version of BibSpace in
docker-compose.yml
Locate the following part and remove thebuild
part.
bibspace:
build:
context: .
dockerfile: Dockerfile
depends_on:
- db
And add the image
definition with respective version.
For version 0.6.0
this will look as follows:
bibspace:
image: bibspace:0.6.0
depends_on:
- db
- Run with
docker-compose up -d
- (Optional) Restore backup if any data got lost.
- Important: Update to version
0.5.3
or0.5.4
first to enable JSON backups. - Backup your data to the JSON format and make sure that data can be restored correctly.
- Replace code with version
0.6.0
and restore data from the JSON backup.
- Update normally by replacing the code with newer version
- Execute the following commands:
mkdir -p json_data
mv *.json json_data/
I currently work on BibSpace to improve several things. I ship code in coding sessions that happen rather rarely - once, twice per year. In each session, I implement things according to the following priority list:
- Fix bugs from open issues
- Increase test coverage (until >90% is reached)
- Redesign/refactor bad smells in code from the past
- Implement features
Moreover, I keep redesigning BibSpace to increase the quality of code.
Remember that this was a perl
and Mojolicious
sandbox, so not all parts were written properly in the past.
The following elements will be improved as the work progresses:
- Fix the ugliest backend API and refactoring it to adhere to REST API best practices
- Separate the backend code and the frontend code into modules or even projects
- Apply modern frontend framework