Warning
This is the development branch of Tania. Changes can occur nightly. If you need the stable branch you can checkout the master branch.
Roadmap
You can check the roadmap in Tania's GitHub project.
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.
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
- Clone the repo using
git clone https://github.com/Tanibox/tania-core.git
- Checkout the current stable version by using
git checkout tags/1.7.2 -b v1.7.2
- From the project root, call
go get
to install the Go dependencies.
- Create a new file
conf.json
using the values from the conf.json.example
and set it with your own values.
- Issue
npm install
to install Vue.js dependencies.
- To build the Vue.js, just run
npm run dev
for development purpose or npm run prod
for production purpose.
- Compile the source code with
go build
. It will produces tania-core.exe
(on Windows) or tania-core
(on Linux and OSX.)
- Run the program from Terminal by issuing
./tania-core
, or from Windows Command Prompt by issuing .\tania-core.exe
.
- 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
Run Tania Core On Portainer
version: '2.2'
services:
app:
image: tanibox/tania:latest
environment:
SYMFONY_LOCALE: en
SYMFONY_SECRET: AugIVKlefKLzqJwlwY5S5YaW8Ui66fi8
SYMFONY_ENV: dev
SYMFONY_DB_HOST: db
SYMFONY_DB_PORT: 3306
SYMFONY_DB_NAME: tania
SYMFONY_DB_USERNAME: tania
SYMFONY_DB_PASSWORD: <Password>
SYMFONY_MAILER_TRANSPORT: smtp
SYMFONY_MAILER_HOST: 127.0.0.1
SYMFONY_MAILER_USERNAME: admin
SYMFONY_MAILER_PASSWORD: <Password>
SYMFONY_MAILER_FROM_ADDRESS: <your_e-mail>
SYMFONY_MAILER_SENDER_NAME: <User_Name>
COMPOSER_ALLOW_SUPERUSER: 1
ports:
- 80:80
db:
image: mysql:5.6
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: tania
MYSQL_USER: tania
MYSQL_PASSWORD: <Password>
ports:
- 3306:3306
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:
- Copy
languages/template.pot
and paste it to languages/locale
directory.
- Rename it with your language locale code e.g:
en_AU.po
, de_DE.po
, etc.
- Fill
msgstr
key with your translation. You can edit the .po
file by using text editor or PO Edit software.
- 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.
Become a sponsor and get your logo on our README on GitHub with a link to your site.
Authors
Tania is a project of Tanibox.
Copyright and License
Copyright to Tanibox and other contributors under Apache 2.0 open source license.