All Projects → rozag → kakava

rozag / kakava

Licence: Apache-2.0 license
Customizable Android app template generator.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to kakava

MvvmCross-Dreams
Xamarin MvvmCross DREAMS is an opinionated take on how to make an MvvmCross app.
Stars: ✭ 30 (-9.09%)
Mutual labels:  template-project
ffizer
ffizer is a files and folders initializer / generator. Create any kind (or part) of project from template.
Stars: ✭ 57 (+72.73%)
Mutual labels:  template-project
reveal-template
Simple reveal.js template with mathjax support and no node or npm dependencies, just a good old Makefile
Stars: ✭ 20 (-39.39%)
Mutual labels:  template-project
doodba-copier-template
A Copier template for Doodba projects
Stars: ✭ 36 (+9.09%)
Mutual labels:  template-project
python-data-science-project
Template repository for a Python 3-based (data) science project
Stars: ✭ 54 (+63.64%)
Mutual labels:  template-project
The Documentation Compendium
📢 Various README templates & tips on writing high-quality documentation that people want to read.
Stars: ✭ 4,306 (+12948.48%)
Mutual labels:  template-project
pechkin
📮 «Печкин» помогает быстро начать вёрстку писем
Stars: ✭ 18 (-45.45%)
Mutual labels:  template-project
solution-snapshotter
Take your existing .NET project and export it as a ready-to-install Visual Studio extension!
Stars: ✭ 27 (-18.18%)
Mutual labels:  template-project
Happy
Happy 🥳 | Rocketseat 💜 - NLW 03 👩‍🚀
Stars: ✭ 61 (+84.85%)
Mutual labels:  template-project
flask-vue-project-seed
SPA quick start using Python Flask and Vue.js. Containerized with Docker.
Stars: ✭ 27 (-18.18%)
Mutual labels:  template-project
pytorch-gpu-data-science-project
Template repository for a Python 3-based (data) science project with GPU acceleration using the PyTorch ecosystem.
Stars: ✭ 16 (-51.52%)
Mutual labels:  template-project
flutter ducafecat news getx
flutter2 + dio4 + getx4
Stars: ✭ 283 (+757.58%)
Mutual labels:  template-project
super-super-heroku-bot
Discord bot using Heroku, 24/7!
Stars: ✭ 19 (-42.42%)
Mutual labels:  template-project
DjangoStarter
基于Django定制的快速Web开发模板,功能包括:Docker-Compose部署,缓存,业务代码生成器,接口限流,DjangoAdmin验证码,登录次数尝试,屏蔽了RestFramework默认的API主页等
Stars: ✭ 28 (-15.15%)
Mutual labels:  template-project
react-typescript-starter
Minimalist React 18 starter template with TypeScript ⚛
Stars: ✭ 72 (+118.18%)
Mutual labels:  template-project
go-echo-boilerplate
The fastest way to build a restful API with golang and echo framework. Includes common required features for modern web applications. A boilerplate project with golang and Echo.
Stars: ✭ 53 (+60.61%)
Mutual labels:  template-project
pandora
Small box of pandora to prototype your app with ready for use backend. This is just my compilation of different solutions occasionally applied in hackathons and challenges
Stars: ✭ 26 (-21.21%)
Mutual labels:  template-project
11ta-template
Deeply customizable, full-featured, ready to publish blog template built with 11ty, TailwindCSS, & Alpine.js
Stars: ✭ 98 (+196.97%)
Mutual labels:  template-project
cpptemplate
A template project (library and executable) for C++ projects with cmake, ctest, vcpkg, circleci, and automated document deploymend via doxygen to gh-pages
Stars: ✭ 30 (-9.09%)
Mutual labels:  template-project
python3-alpine-flask-docker
Sample Docker container for a Python 3 Flask based application with minimal footprint.
Stars: ✭ 23 (-30.3%)
Mutual labels:  template-project

kakava

Customizable Android app template generator. This tool allows you to generate an empty Android project with default/your own template. Checkout templates/default/ or templates/default-kotlin/ for more info.

Motivations

I've noticed that I spend ~15 minutes each time, when I need to create and set up a project for a new app or a prototype. Well, need to do a task more than once? Automate it! So, meet kakava!

Requirements

  • python3

Download

Clone the repo:

git clone --branch v1.5 [email protected]:rozag/kakava.git YOUR_PATH/kakava

For convenience add it to your PATH. Put it to your ~/.bashrc:

PATH=$PATH:YOUR_PATH/kakava

Sample usage

  • Super quick start (default project in current directory)
kakava
  • Quick start
kakava -d NEW_PROJECT_PATH
  • Custom package and app name
kakava -d NEW_PROJECT_PATH -n MyApp -p com.example.app
  • Kotlin Android project
kakava -d NEW_PROJECT_PATH -n MyApp -p com.example.app -t default-kotlin
  • Open it with AndroidStudio Import project option

  • kakava -h
usage: kakava [-h] [-d DESTINATION] [-p PACKAGE] [-n NAME] [-t TEMPLATE]

optional arguments:
  -h, --help            show this help message and exit
  -d DESTINATION, --destination DESTINATION
                        output directory for the app
  -p PACKAGE, --package PACKAGE
                        package name, e.g. com.example.app
  -n NAME, --name NAME  app name, e.g. MyApp
  -t TEMPLATE, --template TEMPLATE
                        template directory name in the templates/ dir

Out-of-the-box templates

How can I add my own template?

Basically, what kakava does is iterate over all *.kakava files in the template and replace each variable substitution with desired value from the CLI params. See currently supported variables. Therefore to create new template you should:

  1. Create and configure your desired project setup
  2. Replace package names, class names or whatever you want with the ${variableName} substitution
  3. Add the .kakava extension to all files with such replacements
  4. Reduce your com/whatever/product folder hierarchy to a simple kakavaroot folder
  5. Put your new template into templates/ folder with the desired name (e.g. my-awesome-template)
  6. Smile, you're awesome :)

Currently supported params

  • ${packageName} - the package name for your app (e.g. com.company.product)
  • ${appName} - your application name (e.g. MyApp)

TODO (PR welcome)

  • Hackathon kotlin project template (hack-kotlin)
  • Custom templates support (custom CLI params parsing)

License

Copyright 2017 Alexey Mileev

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].