Coder Social home page Coder Social logo

friendsofagape / autographa Goto Github PK

View Code? Open in Web Editor NEW
22.0 22.0 21.0 45.08 MB

A Bible translation editor for everyone.

License: MIT License

JavaScript 97.82% CSS 1.19% TypeScript 0.99%
bible-translation editor electron javascript nextjs nodejs react tailwindcss text-editor usfm usfm-editor

autographa's People

Contributors

arpitjacob avatar ashersam avatar bobbykumar706584 avatar dependabot[bot] avatar joelthe1 avatar kalisa11 avatar pottery123 avatar revantci avatar samuelanthrayose avatar samueljd avatar sijumoncy avatar vipinpaul avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

autographa's Issues

Phase 1a

  • Basic DB setup with refernceDB, translationDB and lookupsDB

files need to be added are : data_provider.js and Db_util

  • Adding preloaded reference bibles (JSON) & also verify, ref_config and add bible Silhouette
  • Update App.js File with db Setup on mount except react-intl and call the higher order component such as NavBar.js
  • Create a Refernce directroy and make core function with all the setup for reference content(refer nav bar for refercence content db update and design of html content)

files need to be added:
reference/core/setup
AutographaStore.js

Sync

  • File Manager Component contains Autographa Projects with drag and drop fn(can be a rcl)
  • Custom Login Comp: Used for cloud auth (paratext)

Select Resource - Home Page

Menu with list of:

  • browse resources from local system (scripture burritos integration)
  • Reference resource list eg: translation helps
  • Search for respective resources

Projects - Project Page

  • Components that contain project list with
  • Starred
  • Search
  • Sort
  • Edit
  • delete
  • Ability to fetch data for Website and electron
  • Online _Parse server
  • Offline_FileSystem
  • It can have another modes field to differentiate projects(audio, mt, editor etc.)

Phase 2b

  • Create Independent component such as About, Loader Component, Search, Report Comp with props

files: About.js, Loader.js, Search.js
Report/ImportReport.js

  • Create a Joint verse context menu as an independent component with functionality that connects to translation panel through storeContext.

file: JointVerse.js

  • Create ReferenceSettinngTab and ReferenceImport and connect to usfm_to_Json with all db update functionality and file reading. And also connect the same to Setting icon as a tab container.

files: ReferenceSettinngTab, ReferenceImport

  • Connect both the Import with ImportReport Component by passing props or useContext

Sync (Cloud storage) - Projects Page

  • Drag and Drop from AG to Gitea.
  • Drag and Drop from Gitea to AG.
  • Tabs: Receives different cloud servers
  • Custom listing tabs: Contains an independant custom listing tabs that is accessed by each cloud server for file selection

MdEditor

Functional components to receive MD raw file as per the usage and converts

Cards for reference and editor - Home Page

Custom Cards are collapsible cards with custom set of menu for

  • Custom Card
  • USFM editor component
  • Customize the menu, buttons and functions (eg: scroll lock, full screen) based on reference cards or editor cards(usfm editor)

Autocomplete

The functional component receives props list and searches value

Implement Unit Tests

Implement Test

As the components are being developed and evolve, write the unit tests for the components with the updated UI.

Phase 3b

  • Create Footer Component with layout functionality and font slider and save translation function

file: Footer.js

  • Create Download Component with all supp component(usfm export, 1col html, 2colhtml) and its supporting core files like Json to html and its design

USFM, 1-HTML, 2-HTML, Export Html, Export CSS etc

  • Adding sync feature with corresponding helper files and UI
    • Paratext sync
    • Gitea component

Login - Authentication Page

Implement the new UI and the components required in the login page. Focus on offline mode of functioning now.

Test Suite

Add tests for all components as well as utility functions using Jest and Enzyme.

Tutorials

List of link for tutorial video and user manual

Menu - Home Page

  • Custom Menu tabs with definite tabs and its content varies with modes and cards

Create New Project - Projects Page

Modes: Each modes will have its own new project component passed inside Create New Project

  • Online: Create New Project component should have a mode selection(Agmt/audio). Store: Inside vachanDB(projects details and file URL) and parse server (files with burrito meta)
  • Offline: Create New Project component should have a mode selection. Store: Inside filesystem with burrito meta

ItemList

  1. Functional Component of the list which takes a set of metadata of list from file or any storage
  2. It can be used with multiple props value for different scenarios
    (eg: starred and unstarred, sorting, a simple list of filenames or books inside finder, etc.)
  3. should be capable of editing and deleting the list items

Profile Tab

Implement profile details tab based on the new UI.

CustomDialog

  • Should receive a set of title and body props (list or can be component itself)
  • Usage in multiple places as (custom language, custom license, custom canon specs, etc)

Bookmarks - Home Page

  • Bookmark specific books and chapter
  • Display all bookmarks on slider tab from a menu button

Crud Operation of file using Parse server

USFM file operation on parse for editor, backup of online versions, sync etc

  • Create or upload multiple files on parse server with relation to users or projects
  • fetch those files and display on editor page
  • Backup the updated files on parse (eg: autosave)

Validator

  1. It can be a hook useValidator which takes in the multiple field values and validates based on required criteria.
  2. Returns success, errors, and warnings

App Setup

Setup the basic Electron application setup with clean lint and build passing (also no Craco). This includes auto-update.

Phase 2a

  • Create Translation Component by setting up core DB setup and update

Files: core/setup.js

  • Create an editable Translation Panel with the UI and basic fuctionality (highlighting)

File: TranslationPanel.js

  • Create Statistic Componet that links to Translation panel with props or StoreContext

file: Statistics.js

  • Make a translation settings and translation Import Component and connect it with usfm_to_json file with all the functionality for import and display and also connect with settings icon in the appBar and tabs of material

files: TranslationSettings.js, TranslationImport, USFM to JSON etc..

Search - Home Page

Consist of simple search with autocomplete with replace component and can be placed and displayed inside a custom pinned card or drawer

Note: Entire book or bible search needs some sort of saving or API search

Report Issue

Component with set of menu categories, list of common question and solutions. Logger file will be attached for a bug report.

Project Page

Component for listing projects in the project listing page, Profile Page, and new projects components in Autographa.

About

A dialog contains autographa license, version etc

Refactor codebase

In the evolution of any code base there comes a time when it is time to pay off technical debt. For Autogrpaha this is the 2nd refactor with the newer React features and cleaner UI framework.

Profile - Projects Page

  • Online: Component to save user data from parse server and password change/reset done through Kratos
  • Offline: Component fetch values from FileSystem/LocalForage

Cleaning and enhancement

  • Finding out common fns and keeping them as actions inside context

  • Create Common settings file to call all the sub-components correspondingly

  • Reference management list tab

  • LTR and RTL of translation panel along with app Langauge change

  • Auto Backup functionality

  • Diff Count display

  • Get Linter to pass

  • Fix issue with navigation when we select same chapter of other books

  • Update bookname translation on save

SearchForm

Basic search component and also has the capability for advanced search

Phase 3a

  • Connect the componets with corresponding icons and call accordingly each componets in navbar
  • Add component booknameEditor, BookChapterNavigator with all corresponding functionality and also diff checker component

file: BookChapterNavigator.js, DiffChecker, BookNameEditor

  • Create and add translation Help component with language selector
  • Making app language Component and pass ID and props for all the translations and update parent app.js file accordingly

Phase 1b

  • Create a refernce panel with material UI makestyles and paper

file: ReferencePanel.JS

  • Create a refernceSelector with menulist using materialUI and functionality to change reference accordingly

file: ReferenceSelector.js

  • Make an navBar (AppBar) using materialUI with all the icons placed exactly as the previous UI.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.