Columbia-Front is a graphical client for Columbia-API. Written in VueJS, it allows to perform a lot of functionality in a comfortable environment. For users, it allows to perform standard operations, like searching, viewing history or editing account information, like password or email address. For administrators and moderators, it enables to manage contexts, users, definitions and terms in a graphical environment. Also, this client includes a mechanism to perform an CSV import into the glossary. Depending on the configuration of the API, users will be able to register by themselves on the platform.
As this project is in VueJS, the client work as a SPA (Single-Page application), which provides a good user experience. For theming, we are using a customized bootstrap. The client is running on the server through a Springboot project, which enables to use Zuul to do proxy-forwarding and avoiding potential CORS issues with OAuth2 servers. Also, it makes us enable to hide secrets (like API-key) and avoid recursive or loop calls on client, which may produce a network overflow.
Finally, it’s important to notice that for several reasons (keep it simple for maintaining and deploying), we decided to not to use NPM. This is a deliberate decision.
- Download the whole
docker
directory. It will includes the Dockerfile for both front and middleware project. - Edit the
.env
file indocker/front
, and theapplication.properties
file indocker/middleware
with you own parameters - Run both Dockerfile:
docker build -t="columbia_front:latest" ./front && docker build -t="columbia_middlefront:latest" ./middleware
- Create and run both containers:
docker run -d --name="columbia_front" -p 8888:80 columbia_front:latest && docker run -d --name="columbia_middlefront" -p 8088:8080 columbia_middlefront:latest
- Download the jarfile and the .tar.gz file
- Put the content of the .tar.gz file in a NGINX/Apache2/... webserver
- Run
java -jar ./jarfile.jar
- Download the repository
- For the middleware :
- Edit the configuration as you like
- Compile the project (main class:
com.almerys.columbia.front.FrontApplication
) - In folder “target”, you will find and .jar version of the app. Run with
java -jar ./jarfile.jar
- For the front :
- Edit the .env as you like
npm install && npm run serve
.
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 VueJS and JS (and the authors of VueJS themselves) : Axios, lodash, PapaParse, Notifications, VueTags.
Distributed under MIT Licence