Skip to content

LinguistNow simplifies the hassle of finding available linguists for translation projects.

Notifications You must be signed in to change notification settings

nicmart-dev/linguistnow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Table of content

Overview
Install
Implementation
Roadmap
Nice-to-haves
Behind the scene

LinguistNow

Overview

LinguistNow simplifies the hassle of finding available linguists for translation projects.

Problem

Linguists, often freelancers, work for many translation agencies or language service providers (LSPs). Managing tasks based on their schedule is a nightmare both for them and the project managers assigning them work (ie. the "client").

Why?

  • They have enter their availability manually in many apps for some, send it by email to others,
  • They have to remember to notify them when going on holiday
  • Invariably that availability is bound to be out of date as not relying on a single source of truth like their Google Calendar.
  • Some linguists may hoard work, and accept tasks even before checking their calendar, to avoid someone else accepting it, and then have to contact the client, who then have to source someone else, incurring delays.

User Profile

  • Project managers in translation agencies or LSPs, who need to add linguists and then find those available to assign to translation projects.
  • Linguists, also more commonly known as translators, who need to ensure project managers know they are available for work, as it's a competitive market where they need to get many clients as possible.

Features

  1. User Authentication:

    • Secure login and registration for project managers and linguists using Google OAuth2.
    • Role-based access control.
  2. Linguist Google Calendar profile

    • Linguists select their calendars in user profile
  3. Project Scheduling:

    • Project managers can find available linguist, using CRUD operations to add, edit, delete, and view their profiles.
    • Get linguist availability from Google Calendar using n8n integration
  4. Localization

    • Using react-intl to support English, French, and Simplified Chinese interfaces, with language toggle functionality.

Install

To install and run the LinguistNow application, follow these steps:

Follow the steps on https://github.com/nicmart-dev/linguistnow/wiki/Install-instructions

Implementation

Tech Stack
GitHub folder structure
APIs
Sitemap, User journey and Screenshots
Data
Auth

Tech Stack

  • Front-end: React.js, React Router (for navigation), Tailwind CSS (for styling), Axios (for API calls)
  • Back-end: Node.js, Express.js
  • Database: Airtable
  • Authentication: Google OAuth2 tokens
  • Localization: react-intl library for internationalization, using AI translations
  • Datagrid TanStack Table headless table library
  • Calendar Integration: n8n workflow automation library
  • Deployment: Netlify (for front-end), Render (for back-end)

Note: see design documents in the Wiki here for implementation details.

GitHub folder structure

For ease of maintenance as a solo developer, I created a single repository for client and server.

your-repo/
│
├── client/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ └── ...
│ ├── public/
│ └── ...
│
├── server/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ └── ...
│
├── n8n/
│ ├── workflows/
│ ├── settings/
│ └── ...
│
├── README.md
├── .gitignore
├── package.json
└── ...

APIs

I am using the following external APIs:

  • Google APIs used:
  • Connection to Airtable cloud-based database platform is managed through airtable package

Sitemap, User journey and Screenshots

See user journey, and sitemap with screenshots in the Wiki here.

Data

I am using a single Users table in Airtable. See Airtable data structure documentation.

alt text

Auth

The app is using Google OAuth2 authentication. See related design information here.

Roadmap

I am using GitHub Project to manage the roadmap and Kanban board. Please see the public roadmap here.

alt text

Nice-to-haves

Please see the nice to have backlog list

Examples:

alt text

Behind the scene

About me

This capstone project was developed by Nicolas Martinez as part of the 3-month Web Development Diploma Program at BrainStation. It serves as a demonstration of newly acquired modern development skills, following a 20+ year journey of providing customer solutions.

My background is in the Localization & Translation industry spanning two decades, coupled with 7 years as a Technical Product Manager overseeing workflow management and productivity-oriented products.