Columbia API is the server of the Columbia project.
Columbia is a glossary. The main aim is to provide a flexible and adaptive platform to enable users creating contexts and definitions on theses contexts. This is a way to help users to better understanding the meaning of the words, depending on the context. Each context could be managed by one or more moderators. To quickly resume how it works, administrator create contexts, and moderators are creating some terms, and each term has a list of definitions; maximum of one per context.
Columbia is a Java project, running a Springboot server, who run a webserver. This webserver expose a lot of endpoints (full documentation is available on Swagger) who enables to manage each part of the project (users, newsletters, terms, contexts, definitions, history, ...). This project needs a MySQL/MariaDB server to run, or H2.
- Fully customizable
- Right management
- Newsletter system
- Automatic history of a definition, a term, or a context
- Search engine based on exact word, and metaphones
- Availability to define synonyms, antonyms, related words, sources and bibliography for each definition
- Contexts, subcontexts, subsubcontexts, subsubsubcontexts, [...]
- OAuth2 or independent login (or both !)
- REST API Level 2, following the Richardson Maturity Model, which allows you to use endpoints whatever you want
- Code covered (74% code coverage with Unit Tests, 89% with Integration Tests)
- Download the file
Dockerfile
andsrc/ressources/application.properties
from thedocker
directory, and copy them in a folder. - Edit the
application.properties
file with your own configuration - Run the Dockerfile:
docker build --no-cache -t="columbia_api:latest" ./
- Create and run a container:
docker create --name="columbia_api" -p 8080:8080 columbia_api:latest
- Download the jarfile
- Download file
src/ressources/application.properties
, edit him and copy him on the same directory than the jarfile - Run
java -jar ./jarfile.jar
- Download the repository
- Edit the configuration as you like
- Compile the project (main class:
com.almerys.columbia.api.Application
) - In folder “target”, you will find and .jar version of the app. Run with
java -jar ./jarfile.jar
Program by @Artheriom and @leChaps, created for @be-ys. This program was built for internal usage and was ported to opensource. For this reason, some parts of the code may be different than the original.
Special thanks to all the peoples and teams who created awesome libraries for Java, and the Spring team.
Distributed under MIT Licence