AlexiCauvin 796b088c63 Remove forced_root_block in tinymce init function 6 jaren geleden
..
dist Remove forced_root_block in tinymce init function 6 jaren geleden
i18next.scanner https://github.com/tracim/tracim/issues/748, Translation of : adminWorkspacePage, HomePage, app Html, Timeline, and some components 6 jaren geleden
jsonserver added app Admin Workspace User + refactor for app Fullscreen 6 jaren geleden
src app openning now waits until workspace content has loader to avoid openning app with default 'reader' rights 6 jaren geleden
.editorconfig integrated full unique frontend repo with first build script 6 jaren geleden
.gitignore [https://github.com/tracim/tracim/issues/825] config is now a json file instead of js file 6 jaren geleden
README.md added app Admin Workspace User + refactor for app Fullscreen 6 jaren geleden
all_cmd.md integrated full unique frontend repo with first build script 6 jaren geleden
configEnv.json.sample [https://github.com/tracim/tracim/issues/825] config is now a json file instead of js file 6 jaren geleden
i18next.scanner.js [https://github.com/tracim/tracim/issues/637] added translation mecanism on all frontend folder 6 jaren geleden
package.json began plugin of dashboard + refactor for appList and workspaceContentList 6 jaren geleden
webpack.config.js fixed public path of frontend/webpack.config.js 6 jaren geleden

README.md

Tracim Frontend

This project is the frontend part of Tracim.

Installation

Install all dependencies $ npm install

Build the sources $ npm run build

Load dist/index.html in your webserver.

Development

Install all dependencies $ npm install

Start development server (webpack dev server) $ npm run servdev

Alternatively, you can use $ npm run servdev-dashboard to use webpack-dashboard to have a better server interface.

Start mockapi server $ npm run mockapi

Apps

Tracim is a skeleton that rely on apps to do stuffs. (like to manage Documents, Files, Threads ...)

Apps all are independant React applications and have their own repositories and can be freely added or removed from Tracim without the needs for a rebuild.

Apps acts like plugins.

To add Apps to your Tracim instance

You need to separately get the built version of each apps and add them to dist/app folder. Apps file names should be of the form of 'appName.app.js'.

To do that 1) go to each Apps repositories ; currently 2 : (more to come)

  • https://github.com/tracim/tracim_frontend_app_pagehtml
  • https://github.com/tracim/tracim_frontend_app_thread 2) install and build the sources npm install && npm run build 3) copy the appRepository/dist/appName.app.js file generated and past it to tracim_frontend/dist/app folder

By default, for development, tracim_frontend expects every apps but wont crash if one is missing (currenlt not all of them are exists anyway)

Developing Apps

Apps are independents React application so you can test them out on their own.

/!\ Documentation on Apps interface is work in progress. /!

To test them inside Tracim, you need to build them and copast them to tracim_frontend/dist/app.

You also need to make the mock api able to tell tracim_frontend that it handle you app :

  • add an entry for you App in tracim_frontend/jsonserver/static_db.json in the app_config property
  • reload your mock api server
  • add the source of your app in tracim_frontend/dist/index.html and an entry to the switch case of the function GLOBAL_renderAppFeature. All of this will be handled by backend later on, this is all work in progress stuffs.

Urls list

  • / => detail of the first workspace
  • /login => login page
  • /workspace/:idws => detail of the workspace :idws
  • /workspace/:idws/content/:idc => detail of the workspace :idws with the app of the content :idc openned
  • /account => profile page of the connected user
  • /dashboard => dashboard of a workspace (code not plugged in therefore no :idws in url)