/lokapp-api

Lokapp - NestJS API to manage translations

Primary LanguageTypeScriptApache License 2.0Apache-2.0

Lokapp API

Lokapp logo

Lokapp Bump

An API to help you manage the translations of all your mobile and web projects.

Table of contents

About the project

This API provides you an environment to store the translations of several projects.

You can also checkout our webapp to manage your translations and export them as Android, iOS or JSON ready-to-use localized files.

Built with

Here are some tools or frameworks this API has been built with:

Features

Projects

Create as many projects as you want, each one with its own languages, translations and users.

Roles and invitations

Manage your users and who can access to your projects.

See the Role documentation to learn more about the different roles the API can handle.

Groups

Create groups within a project in order to get a tidy list of translations.

Translations

Specify which languages your project supports, then manage your translation keys and their translated content.

Create groups to organize your translations by module or by feature for instance.

Plurals

Handle both singular and plural translations.

See the Plural documentation to learn more about how to deal with plurals strings.

Getting Started

Prerequisites

Installation

  1. Clone the repo
    git clone https://github.com/lokappio/lokapp-api.git
    
  2. Install NPM packages
    npm install
    
  3. Edit your environment variables
  4. Launch the database
  5. Start the API
    npm run start:dev
    

Run tests

To run all the end-to-end tests, executing the following command:

npm run test:e2e

Webstorm

If you use Webstorm to run your tests individually, you need to set the jest configuration for each Run Configuration. You can set it as followed :

  1. First, right click on the launch icon to the left side of the IDE, and click on "Modify Run Configuration"

picture

  1. On the configuration windows, select the file ./tests/jest-e2e.json. Click on "Apply" button

picture

  1. You can now launch the tests by clicking on the "Run" button

Environment variables

To make the API running, you need to specify your database URL in the DATABASE_URL variable.

You can copy the .env.sample file in a .env and edit it:

cp .env.sample .env

API Documentation

You can find the API documentation of the API on Bump.sh

Locally, you can access the Swagger documentation once the API is up and running at http://localhost:5000/api/documentation.

Usage

While the API is running, you can create any client to interact with the API or play with Postman to call the diffrent endpoints.

Authentication

The majority of the endpoints require you to be autenticated to access it. To do so, you need to provide a token within the Authorization header of the request:

Authorization: Bearer YOUR_TOKEN_HERE

See the Authentication documentation to learn more about the current authentication.

Postman collection

A Postman's collection can be found here.

Demo

To try out our product, you can use our demo.

Database model

Database Diagram

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

Acknowledgements

Playmoweb-Logo

Lokapp is built by Playmoweb, a mobile agency building web apps, native Android and iOS applications.