https://github.com/web2solutions/jumentix
Application foundation for REST and Realtime Node.JS micro service applications
https://github.com/web2solutions/jumentix
Last synced: over 1 year ago
JSON representation
Application foundation for REST and Realtime Node.JS micro service applications
- Host: GitHub
- URL: https://github.com/web2solutions/jumentix
- Owner: web2solutions
- License: agpl-3.0
- Created: 2020-12-28T15:05:10.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-03-11T15:04:00.000Z (over 3 years ago)
- Last Synced: 2025-02-04T13:44:45.689Z (over 1 year ago)
- Language: JavaScript
- Size: 4.84 MB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
#
JumentiX
Application foundation for REST and Realtime Node.JS micro service applications
Read docs at: [https://web2solutions.github.io/Jumentix/](https://web2solutions.github.io/Jumentix/) - Outdated
### Pre requisites
- [MongoDB](https://www.mongodb.com/try/download/community)
- [RabbitMQ](https://www.rabbitmq.com/download.html) and [RabbitMQ - Management plugin](https://www.rabbitmq.com/management.html)
- [Redis](https://redis.io/download)
- [Node.js 10, 11](https://nodejs.org/pt-br/download/releases/)
- [Elastic](https://www.elastic.co/) **_optional_**
- [Apache Cassandra](https://cassandra.apache.org/) **_optional_**
- [Apache Kafka](https://kafka.apache.org/) **_optional_**
- PostgreSQL, MySQL, SQL Server **_optional_**
**Notes**
In order to use Node 12 or greater, need to update gulp.
## How to install
```
$ cd /home/apps
```
```
$ git clone https://github.com/web2solutions/Jumentix.git
```
```
$ cd Jumentix
```
```
$ npm install
```
```
$ npm start
```
### Setup new RabbitMQ account for production
> Rabbitmq provides a "guest" account when it is setup.
> Do not use use "guest" account in production.
> Change it on mq configuration and a related new account to rabbitmq
[mq configuration](https://github.com/web2solutions/Jumentix/blob/master/src/config/mq.js)
You migh use the `Management Plugin`, or the terminal:
Create account:
```
rabbitmqctl add_user ACCOUNTNAMEGOESHERE YOURPASSWORDGOESHERE
```
Set admnistrator tag
```
rabbitmqctl set_user_tags ACCOUNTNAMEGOESHERE administrator
```
Set read / write permission to all resources
```
rabbitmqctl set_permissions -p / ACCOUNTNAMEGOESHERE ".\*" ".\*" ".\*"
```
### How to see JumentiX and JumentiX Vue UI in action
1. Install [JumentiX](https://github.com/web2solutions/Jumentix#pre-requisites)
```bash
# install dependencies
npm install
# serve with hot reload at localhost:3001
npm start
```
2. Install [JumentiX Vue UI](https://github.com/web2solutions/Jumentix-Vue-UI#project-structure)
```bash
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
```
3. Reach and Setup the REST API on browser:
[http://localhost:3001/application/setup](http://localhost:3001/application/setup)
4. Reach UI on browser:
[http://localhost:8080/](http://localhost:8080/)
5. Do login.
User: admin@admin.com
Password: 123
It is going to ask you to change your password.
6. Swagger based CRUD screen - JQWidget implementation
[http://localhost:8080/#/human](http://localhost:8080/#/human)
7. Swagger based CRUD screen - Vuetify implementation
[http://localhost:8080/#/surveys](http://localhost:8080/#/surveys)
### Testing
#### Build mode
$ npm run test
#### Dev mode
1 - `Start the application`
$ npm start
2 - `Run test suite`
$ npm run _test
### Commands
#### Start app on development mode
$ npm start
#### Stop app
$ npm run start
#### Run ESlint fixing code
$ npm run eslint-fix
#### Run ESlint to check code issues
$ npm run lint
#### Build code to production
$ npm run build
#### Run app on dev mode using nodemon
$ npm run nodemon
#### Run app on dev mode as cluster
$ npm run dev-cluster
#### Run app on dev mode as single fork
$ npm run dev-simple
#### Deploy to production Git + SSH
$ npm run deploy-production
#### Deploy to test Git + SSH
$ npm run deploy-test
#### Build app and run on simple single thread
$ npm run simple
#### Build app and run on simple single thread
$ npm run cluster
#### pm2 Update
$ npm run update
#### Setup Sequelize migrations
$ npm run update