Develog is a web application inspired by James Routley's idea of using a logbook to improve your programming. The app allows users to create one private and tagged note per day. Simple Markdown together with PlantUML speeds up and facilitates the process of describing a solution to a problem.
nosql branch has been remodeled to use MongoDB as the main database.
Gallery [more]
a) USER:
- note creation and edition (single note, for present day)
- tags
- Markdown support
- PlantUML (diagrams) support
- two panels side by side - editor and view
- export to txt/html
- one global note (see 1.)
- calendar
- searching by date/tags/everything(*)
- archiving:
- raw
- html
b) ADMIN:
- same as a)
- monitoring:
- user data size
- user online stats
- error logging
- business methods performance
- general status and app health
- changing roles
- notifying users by email
c) BANNED:
- same as a) but cannot insert/edit
Other:
- i18n
- RWD
- GitHub based authentication, authorization
- Maven
- Spring + Spring Boot + Spring Actuators
- Thymeleaf
- jQuery
- Materialize
- Wro4j
- PostgreSQL
- MongoDB
- AspectJ
- Lombok
- PlantUML
- Markdown (Flexmark-java)
- JUnit5
- Mockito
- Code Analysis tool
- Code Coverage tool (OpenClover)
- Travis CI
- Codecov
- Docker
PlantUML requires a GraphViz installation for full drawing support. This is why we use a docker image. All env variables required to start the app can be found in docker/env_sample (GitHub Oauth2, PostgreSQL, MongoDB).
Run test coverage: mvn clean clover:setup verify clover:aggregate clover:clover
Dockerize: mvn clean package spring-boot:repackage docker:build
Run in docker: docker run --env-file=docker/env_sample -p 8080:8080 -t develog
After setting PostgreSQL (postgres) and MongoDB (mongo) containers you can simply run docker/start.sh
When hosting on Heroku without docker, an additional GraphViz build pack is required.
Develog - a web logbook for developers
Copyright (C) 2017 Damian Terlecki
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.