Skip to content

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.

License

Notifications You must be signed in to change notification settings

be-ys/columbia-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Columbia API

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.

List of features

  • 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)

Installation

Through Docker

  1. Download the file Dockerfile and src/ressources/application.properties from the docker directory, and copy them in a folder.
  2. Edit the application.properties file with your own configuration
  3. Run the Dockerfile: docker build --no-cache -t="columbia_api:latest" ./
  4. Create and run a container: docker create --name="columbia_api" -p 8080:8080 columbia_api:latest

Standalone (through a release)

  1. Download the jarfile
  2. Download file src/ressources/application.properties, edit him and copy him on the same directory than the jarfile
  3. Run java -jar ./jarfile.jar

Standalone (building)

  1. Download the repository
  2. Edit the configuration as you like
  3. Compile the project (main class: com.almerys.columbia.api.Application)
  4. In folder “target”, you will find and .jar version of the app. Run with java -jar ./jarfile.jar

Acknowledgment

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.

Licence

Distributed under MIT Licence

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published