1.0.2 • Published 8 months ago

tavajs-cli v1.0.2

Weekly downloads
-
License
MIT
Repository
-
Last release
8 months ago

About The Project

TAVAjs is an interactive Command Line Interface tool, which helps developers to set up project template with some trendy web technologies such as Node, React, Angular, Vue and some of the best-integrated services such as Authentication, Logger, Email, Blob, and others.

FEATURES:

  • Time saving
  • Cost saving
  • Easy to use
  • Efficient
  • Reliable

Built with:

Services:

  • CSS Frameworks

    	<p><a  href="https://getbootstrap.com"  target="_blank" >  <img  src="https://raw.githubusercontent.com/devicons/devicon/master/icons/bootstrap/bootstrap-plain-wordmark.svg"  alt="bootstrap"  width="100"  height="100"/>  </a>  <a  href="https://mui.com/" target="_blank"><img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/materialui/materialui-original.svg" alt="mui"  width="100"  height="100" /></a>  <a  href="https://tailwindcss.com/" target="_blank"><img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/tailwindcss/tailwindcss-original-wordmark.svg" alt="tailwind"  width="100"  height="100" /></a></p>
  • TestCases Frameworks

    	 <p><a  href="https://mochajs.org/" target="_blank"><img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/mocha/mocha-plain.svg" alt="mochajs"  width="100"  height="100" /></a>  <a  href="https://jestjs.io/" target="_blank"><img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/jest/jest-plain.svg" alt="jest"  width="100"  height="100" /></a>  <a  href="https://jasmine.github.io/" target="_blank"><img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/jasmine/jasmine-plain-wordmark.svg" alt="jasmine"  width="100"  height="100" /></a>  <a  href="https://nightwatchjs.org/" target="_blank"><img src="https://seeklogo.com/images/N/nightwatchjs-logo-66C5775A1E-seeklogo.com.png" alt="nightwatch"  width="100"  height="100" /></a>  <a  href="https://pptr.dev/" target="_blank"> <img src="https://user-images.githubusercontent.com/10379601/29446482-04f7036a-841f-11e7-9872-91d1fc2ea683.png" alt="puppeteer"  width="100"  height="100" /></a>  <a  href="https://www.cypress.io/"  target="_blank"><img  src="https://i.ibb.co/sPgXBFJ/cypress.png"  alt="cypress"  height="100"  width="120"></a></p>
  • Authentication Services

    	<p><a  href="https://auth0.com/" target="_blank"><img src="https://demos.gocircle.ai/wp-content/uploads/sites/5/2021/11/brand-evolution_logo_Auth0_vertical_black-975x1024.png" alt="auth0" height="100" width="100"/></a>  <a  href="https://aws.amazon.com/cognito/" target="_blank"><img src="https://miro.medium.com/max/400/1*ZjS_BtHvohZJc6lqHOsdJw.png" alt="cognito" height="100" width="100"/></a>  <a  href="https://www.okta.com/" target="_blank"><img src="https://www.okta.com/sites/default/files/media/image/2021-03/Logo_Okta_Blue_RGB.png" alt="okta" height="80" width="120"/></a></p>
  • State management Frameworks

    	<p><a  href="https://redux.js.org/" target="_blank"><img src="https://cdn.jsdelivr.net/gh/devicons/devicon/icons/redux/redux-original.svg" alt="redux" width="100" height="100" /></a>  <a  href="https://ngrx.io/" target="_blank"><img src="https://ngrx.io/assets/images/badge.svg" alt="ngrx" width="100" height="100" /></a>  <a  href="https://vuex.vuejs.org/" target="_blank"><img src="https://user-images.githubusercontent.com/7110136/29002857-9e802f08-7ab4-11e7-9c31-604b5d0d0c19.png" alt="vuex" width="100" height="100" /></a></p>
  • Email Services

    	<p>	<a  href="https://sendgrid.com/" target="_blank"><img src="https://sendgrid.com/wp-content/themes/sgdotcom/pages/resource/brand/2016/SendGrid-Logomark.png" alt="sendgrid" width="100" height="100" /></a>  <a  href="https://aws.amazon.com/ses/" target="_blank"><img src="https://www.shareicon.net/data/512x512/2015/08/28/92163_copy_512x512.png" alt="amazon_ses" width="100" height="100" /></a>  <a  href="https://www.smtp.com/" target="_blank"><img src="https://www.postmastery.com/wp-content/uploads/2018/05/smtp.jpg" alt="smtp" width="150" height="80" /></a></p>
  • Database Services

    	<p><a   href="https://www.mongodb.com/"  target="_blank">  <img  src="https://raw.githubusercontent.com/devicons/devicon/master/icons/mongodb/mongodb-original-wordmark.svg"  alt="mongodb"  width="100"  height="100"/>  </a>   <a   href="https://www.mysql.com/"  target="_blank">  <img  src="https://raw.githubusercontent.com/devicons/devicon/master/icons/mysql/mysql-original-wordmark.svg"  alt="mysql"  width="100"  height="100"/>  </a>   <a   href="https://www.postgresql.org"  target="_blank">  <img  src="https://raw.githubusercontent.com/devicons/devicon/master/icons/postgresql/postgresql-original-wordmark.svg"  alt="postgresql"  width="100"  height="100"/>  </a></p>
  • Blob Services

    	<p><a   href="https://azure.microsoft.com/en-in/"  target="_blank">  <img  src="https://www.vectorlogo.zone/logos/microsoft_azure/microsoft_azure-icon.svg"  alt="azure"  width="100"  height="100"/></a>  <a   href="https://aws.amazon.com"  target="_blank">  <img  src="https://raw.githubusercontent.com/devicons/devicon/master/icons/amazonwebservices/amazonwebservices-original-wordmark.svg"  alt="aws"  width="100"  height="100"/>  </a></p>
  • Docker Service

    	<p> <a   href="https://www.docker.com/"  target="_blank">  <img  src="https://raw.githubusercontent.com/devicons/devicon/master/icons/docker/docker-original-wordmark.svg"  alt="docker"  width="100"  height="100"/>  </a> </p>
  • CI/CD Pipeline

Getting started

This is an example of how you may give instructions to create a template project.

$ generate-tava - It will execute the program.

generate-tava

To learn more about npm click.


ESLINT

ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript code.

How to run ESLINT

To run eslint, run command in terminal:

npm run lint

To fix linting issues in all files, run command in terminal:

npm run lint:fix

To fix linting issues in one particular file, run command in terminal:

npm run lint:"your file name"

NOTE: If you face any error while linting, run command in terminal:

npm install eslint-plugin-react@latest --save-dev

PRETTIER

Prettier is an opinionated code formatter which ensures one unified code format and makes the code more readable.

Creating First project

Options: (Use arrow to scroll and press Enter to select)

A.   Enter the project name.

 ? Project name: my-project

B.   Enter the source folder path.

 ? Which source folder path would you like? (C:\projects\tavajs)

C.  Choose any package manager.

 ?Select Package Manager (Use arrow keys)
 > NPM
   YARN

D.  Select "Yes" to create template for frontend.

 ? Do you want template for Frontend? (Use arrow keys)
 > yes
   no

E.  Choose any framework according to your need.

 ? Select the Framework (Use arrow keys)
 > React
   Angular
   Vue

F.  Choose a CSS framework according to your need.

 ? Which CSS Framework do you want? (Use arrow keys)
 > MaterialUI
   Bootstrap
   CSS Tailwind

G.  Enter frontend project name.

  ? Front End project name: front-end
  

H.  Testcase framework: It is a set of guidelines or rules used for creating and designing test cases. Choose a test framework according to your need.

 ? Select the Test Case Framework (Use arrow keys)
 > MochaJS
   Jest
   Jasmine
   Puppeteer (Node Library)
   NightwatchJS
   Cypress
   None
  

I.  Choose a theme provider according to your need.

 ? Do you want Theme-provider? (Use arrow keys)
 > Light/Dark Mode 
   None 

J.  Select "yes" to integrate network Informer.

? Do you want Network Connection Informer? (Use arroy keys)
> Yes
  No

K.  Choose any authentication service according to your need.

? What Authentication Service you want to use? (Use arrow keys)
> Auth0
  Cognito
  Okta
  None

L.  Store Integration:  Store is used for state management that produces a global state for the entire app so that it can be accessed by all components. Select "yes" to integrate store.

? Do you want redux/ngrx/vuex integration? (Use arrow keys)
  > yes
    no

M.  Select "yes" to implement backend in your project.

? Do you want template for Backend? (Use arrow keys)
  > yes
    no

N.  Choose any framework as required.

  ? Select the Framework
    Node

O.  Enter the backend project name.

  ? Node Project name: back-end

P.  Enter the route (press "Enter" to select default).

  ? Enter the default route (users)

Q.  Choose database service as required.

  ? Which db service do you want? (Use arrow keys)
  > Postgres
    MySql
    Mongoose
    None

R.  Choose logger service as required.

  ? Which logger service do you want? (Use arrow keys)
  > Winston
    sentry
    None

T.  Choose e-mail service which you want to integrate.

  ? Which Email service do you want? (Use arrow keys)
  > SendGrid
    Amazon Ses
    SMTP
    None

U.  Choose blob service as require.

  ? Which Blob service do you want? (Use arrow keys)
  > AWS-s3
    Azure
    None

V.  Select "yes" to integrate docker service.

  ? Do you want Docker services (Use arrow keys)
  > yes
    no

V.  Select the CI/CD pipeline service you want to integrate. ? Would you like to integrate CI/CD pipeline?

  > AWS
    GitHub
    None

!! Successfully created !!

How to run created template

Use "cd" command to change the current directory.

  1. Select project folder
cd my-project
  1. Select created template (cd template-name)
cd front-end

(or)

cd back-end
  1. Use npm install command to install required modules.
npm install
  1. Use npm start to execute the template.
npm start

How to create new screen in frontend templates.

Use "cd" command to move frontend project directory.

$ generate-screen - It will execute the program.

generate-screen

A.   What will be the name of Screen?.

 ? Screen name: new-screen
 
 

!! New screen successfully created. !!


How to create new route in backend templates.

Use "cd" command to move backend project directory.

$ generate-route - It will execute the program.

generate-route

A.   What will be the name of the Route?.

 ? Route name: new-route
 
 

!! New route successfully created. !!


License

Copyright (C)2022 Innostax

Licensed under the MIT License.

Contact

Innostax Software Labs