tavajs-cli v1.0.2
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.
- Select project folder
cd my-project
- Select created template (cd template-name)
cd front-end
(or)
cd back-end
- Use npm install command to install required modules.
npm install
- 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