Twake
⬅️ Go on twake
  • ☀️ Twake
  • Getting started
    • ▶️Use Twake on twake.app
    • 🏗️Install on your server
      • 🎡Scale with Twake
    • ⚙️Configuration
      • 🔒Security
      • 🔗Custom domain + HTTPS
        • Apache2 configuration
      • 💌Configure mail server
      • 🎨Customisation
      • 🔌Connectors and plugins
      • 👨‍💻 Authentication modes
        • Using Keycloak (LDAP, OpenID and more)
        • Installing Twake with LemonLDAP (LDAP, OpenID and more)
  • How to use it
    • 👋Welcome to Twake !
    • 🧰Console
      • Users
    • 🏢Company & workspace
      • Invite user from Chat
      • Rights
    • 💠Applications
      • 💬Chat
        • Channels
        • Message
      • 📂Drive
        • File and folder
        • Share file with public link
      • 📆Calendar
      • ✅Tasks
      • 🔃Connectors
        • n8n
    • 🖥️Desktop and mobile app
    • 🔒Privacy
  • Developers API
    • 🏠Home
    • 🥇Getting started
      • Create your first application
      • Authenticate with Postman
      • Send a message with your application
      • Trigger action from command
    • ⚙️Application settings
      • Api
      • Display
      • Privileges
      • Identity
    • 📖API Reference
      • Webhook
      • Drive
      • Message
        • DELETE Request
        • POST Request
      • Authentication
    • 🧱Blocks
  • Internal Documentation
    • 🥇Get started
    • 🎨Twake Ecosystem Guidelines
    • 📚Our stack
    • 🧱Backend and APIs
      • 🔑(WIP) Authentication
      • 👥Users and workspaces
      • 🍎Applications
        • Database models
        • REST APIs
      • 🎩Channels and tabs
        • Database models
      • 💬Messages
        • Database models
      • 📄Files
        • Database models
        • REST APIs
        • Resumable.js
      • 📲Notifications
        • Database models
      • 🛠️Twake service development
        • What is a service in Twake ?
        • Create a new service
        • Platform/Technical services
          • Database ORM platform service
    • 🖥️Web, desktop and mobile
      • Table
      • ObjectModal
        • ObjectModalTitle
        • ObjectModalSeparator
        • ObjectModalSectionTitle
        • ObjectModalFormTitle
      • UserListManager
      • MediumPopupManager
      • MenuManager
    • 🎭Translation
Powered by GitBook
On this page
  • Before to start
  • Run the backend (+ database)
  • Run the frontend
  • Test and start develop
  • Propose an improvement to be merged

Was this helpful?

  1. Internal Documentation

Get started

Welcome to the internal documentation section. This chapter is for developers working in Twake team or wanting to participate in the project.

PreviousBlocksNextTwake Ecosystem Guidelines

Last updated 3 years ago

Was this helpful?

If you are looking for the Developers API of Twake to make plugins, apps or connectors, go here :

Before to start

  • Fork our repo and checkout the develop branch

You want to fix a translation issue? We use Weblate:

Run the backend (+ database)

  1. Go to "twake/"

  2. docker-compose -f docker-compose.dev.mongo.yml up -d

  3. The backend will be running on port 3000

Run the frontend

  1. Go to "twake/frontend"

  2. Run yarn install (better to use yarn than npm), our developers uses node 14 and 16, it should work with any upper version.

  3. Prepare the environment.ts file like this: cp environment/environment.ts.dist.dev environment/environment.ts

export default {
  env_dev: true,
  front_root_url: 'http://localhost:3001',
  api_root_url: 'http://localhost:3000',
  websocket_url: 'ws://localhost:3000'
};

5. Run yarn start

6. It will propose to run on another port, say "yes" to run it on port 3001.

Test and start develop

-> Logs from backend can be accessed from docker-compose -f docker-compose.dev.mongo.yml logs -f --tail 100

-> Logs from frontend are visible in the output of yarn start

You can start writing code 🎉 ! It will reload the backend / frontend automatically each time you save.

Propose an improvement to be merged

Tests will be ran automatically and should pass before to merge the code.

You should be able to go on just click on "create an account" and you'll be able to access Twake after a few steps.

Before to start implementing a new feature or bug fix, please find or create an issue on our repository (here ) and put a comment to inform that you will work yourself on the issue. To avoid two same people doing the same work ;)

If you have any issue, please come and join us on

For this you need to create a merge request on Github from your fork to our develop branch. Goes there: and click "compare across forks".

We are hiring! Apply now on

🥇
Developers API
https://github.com/TwakeApp/Twake
https://hosted.weblate.org/projects/linagora/twake-chat-web/
http://localhost:3001
https://github.com/linagora/Twake/issues
https://community.twake.app/
https://github.com/linagora/Twake/compare
https://job.linagora.com/en/join-us/