/tania-core

Tania is a farm management software to help farmers manage their farm operations.

Primary LanguageGoApache License 2.0Apache-2.0

Tania The Farmer Journal

The Farmer Journal

telegram semver Build Status License

Tania is a free and open source farm management software. You can manage your farm areas, farm reservoirs, farm tasks, inventories, and the crop growing progress. It is designed for any type of farms.

Download Tania for Windows x64 and Linux x64 on the release page.

Screenshot

Table of Contents

Getting Started

This software is built with Go programming language. It means you will get an executable binary to run on your machine. You don't need extra software like MAMP, XAMPP, or WAMP to run Tania, but you may need MySQL database if you choose to use it instead of SQLite (the default database.)

If your OS is not listed on our releases page, you have to build Tania for your OS by yourself. You can follow our instructions to build Tania.

Prerequisites

Building Instructions

  1. Clone the repo using git clone https://github.com/Tanibox/tania-core.git
  2. Checkout the current stable version by using git checkout tags/1.7.2 -b v1.7.2
  3. From the project root, call go get to install the Go dependencies.
  4. Create a new file conf.json using the values from the conf.json.example and set it with your own values.
  5. Issue npm install to install Vue.js dependencies.
  6. To build the Vue.js, just run npm run dev for development purpose or npm run prod for production purpose.
  7. Compile the source code with go build. It will produces tania-core.exe (on Windows) or tania-core (on Linux and OSX.)
  8. Run the program from Terminal by issuing ./tania-core, or from Windows Command Prompt by issuing .\tania-core.exe.
  9. The default username and password are tania / tania.

Database Engine

Tania uses SQLite as the default database engine. You may use MySQL as your database engine by replacing sqlite with mysql at tania_persistence_engine field in your conf.json.

{
  "app_port": "8080",
  "tania_persistence_engine": "sqlite",
  "demo_mode": true,
  "upload_path_area": "uploads/areas",
  "upload_path_crop": "uploads/crops",
  "sqlite_path": "db/sqlite/tania.db",
  "mysql_host": "127.0.0.1",
  "mysql_port": "3306",
  "mysql_dbname": "tania",
  "mysql_user": "root",
  "mysql_password": "root",
  "redirect_uri": [
      "http://localhost:8080",
      "http://127.0.0.1:8080"
  ],
  "client_id": "f0ece679-3f53-463e-b624-73e83049d6ac"
}

Run The Test

  • Use go test ./... to run all the Go tests.
  • Use npm run cypress:run to run the end-to-end test

REST APIs

Tania have REST APIs to easily integrate with any softwares, even you can build a mobile app client for it. You can import the JSON file inside Postman directory to Postman app.

Roadmap

We want to share our high-level details of our roadmap, so that others can see our priorities in Tania development. You can read our roadmap on the wiki.

Contributing to Tania

We welcome contributions, but request you to follow these guidelines.

Localisation

You can help us to localise Tania into your language by following these steps:

  1. Copy languages/template.pot and paste it to languages/locale directory.
  2. Rename it with your language locale code e.g: en_AU.po, de_DE.po, etc.
  3. Fill msgstr key with your translation. You can edit the .po file by using text editor or PO Edit software.
  4. Pull request your translation to the master branch.

Build Tania localisation by yourself

Note: You will need to install GNU Gettext for your OS. Get it here.

You can build Tania in your language by changing the default language inside resources/js/app.js.

Vue.use(GetTextPlugin, {
  availableLanguages: { // add your language here
    en_GB: 'British English',
    id_ID: 'Bahasa Indonesia',
    hu_HU: 'Magyar Nyelv'
  },
  defaultLanguage: 'en_GB', // change this to your language
  translations: translations,
  silent: false
})

Then follow the instruction to build Tania.

Support Us

You can become a backer or a sponsor for Tania through our Open Collective page.

You can also support Tania development by buying the merchandise from Tania Swag Store.

Contributors

This project exists thanks to all the people who contribute.

Backers

Become a backer with a monthly donation and help us continue our activities. backersbackers

Sponsors

Become a sponsor and get your logo on our README on GitHub with a link to your site. backers

Authors

Tania is a project of Tanibox.

Copyright and License

Copyright to Tanibox and other contributors under Apache 2.0 open source license.