/cakemix-front

Document management system, Real-time edit with multiple users

Primary LanguageTypeScriptMIT LicenseMIT

Cakemix

Cakemix

Version License

Cakemix is opensource document management system for all creative team.
You can make a small team, folder and document on the Cakemix, also write a document with markdown, and edit with multiple users in realtime.

Features

  • Opensource(MIT)
  • Write document with markdown
  • Edit document with multiple users in realtime
  • Make document folder
  • Make small team
  • Security
  • Support PWA
  • Support Mobile-Friendly Design

Demo

You can easily use demo of Cakemix. You should try it from here!
DEMO

How to use

This repository is front side of Cakemix, you need server side (here) to use Cakemix.

For developer

Environment

You can set your config by putting .env.dev and .env.prod on config directory.

.
|-- config
    |- .env.dev
    |- .env.prod

See the sample file in the config.example directory for detailed settings.
If you don't set config, these configs will be set as default.

development

WS_SCHEME=ws
HTTP_SCHEME=http
DOMAIN=localhost:8081
API_BASE_PATH=/v1

production

WS_SCHEME=wss
HTTP_SCHEME=https
DOMAIN=location.host
API_BASE_PATH=/v1

Installation

All step is following Nuxt.js build step.
First of all, you need to install dependencies.

# install dependencies
npm install

If you build for development, you can use below command.

# serve with hot reload
npm run dev

If you build for production, you can use below command. Static files are generated in the dist directory.

# generate static project
$ npm run generate

API

API library is generated by openapi-generator, you can regenerate API library using below command using a docker.

docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli:v5.1.1 generate -i /local/api.yml -g typescript-axios -o /local/generated-api

Note

  • Please install docker before using the above command.
  • OpenAPI document for the Cakemix is placed at docs directory in the server-side (here).

Cakemix Release Policy

Branches

  • main
    • latest stable version
  • release/vx.x.x
    • bata version (release candidate)
  • develop
    • alpha version (version of developing phase)
  • feat/xxx
    • branch for implementation a feature or fixing a bug
  • hotfix/xxx
    • branch for fixing a bug that existing main branch and it needs to fix as soon as possible
feat/xxx        x     x
              /   \ /   \
develop   ---x-----x-----x-------x---x----- (PR required)
                    \           /    |
release/x            x--x--x   /     |
                            \ /      |
main      -------------------x-------x----- (PR required)
                              \     /
hotfix/x                         x

Versioning (Major.Minor.Patch)

Major

  • will increment when breaking changes occurred

Minor

  • will increment when new features are added

Patch

  • will increment when bugs are fixed

License

Released under the MIT license