/tania-core

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

Primary LanguageGoApache License 2.0Apache-2.0

Tania Farm Management System

Farm Management Software

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. Make sure you have installed golang/dep
  2. Clone the repo using git clone https://github.com/Tanibox/tania-core.git
  3. Checkout the current stable version by using git checkout tags/1.5.1 -b v1.5.1
  4. From the project root, call dep ensure to install the Go dependencies
    • If you have an issue with dep ensure, you can call go get instead.
  5. Create a new file conf.json using the values from the conf.json.example and set it with your own values.
  6. Issue npm install to install VueJS dependencies.
  7. To build the VueJS, just run npm run dev for development purpose or npm run prod for production purpose.
  8. Setup SQLite:
    • Edit SqlitePath in conf.json to your sqlite DB file path (ex: /Users/user/Programs/sqlite/tania.db)
    • Create an empty file with the exact filename and path that match the SqlitePath config.
  9. Compile the source code with go build. It will produces tania-core.exe (on Windows) or tania-core (on Linux and OSX.)
  10. Run the program from Terminal by issuing ./tania-core, or from Windows Command Prompt by issuing .\tania-core.exe.
  11. 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.

{
  "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/",
  "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 read the documentation here: Tania REST API.

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.

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.

Backers

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

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.