A "modular" / "nodular" Node.js App using Express 4 to serve APIs & web-based views. A breif of this structure can be found in this article
├───.docker
│ └───data
│ └───mysql
│ ├───nodular
│ ├───mysql
│ ├───performance_schema
│ └───sys
├───app
│ ├───commands
│ ├───contracts
│ ├───errors
│ ├───helpers
│ ├───http
│ │ ├───controllers
│ │ │ └───api
│ │ │ └───v1
│ │ ├───middlewares
│ │ │ └───policies
│ │ └───responses
│ ├───models
│ ├───providers
│ ├───repositories
│ ├───services
│ ├───tasks
│ │ ├───DatabaseNotification
│ │ └───Imports
│ │ └───Student
│ ├───transformers
│ ├───utilities
│ │ ├───AWS
│ │ ├───fcm
│ │ ├───Logger
│ │ ├───mail
│ │ ├───paginator
│ │ └───passport
│ └───validators
├───config
├───database
│ ├───migrations
│ ├───raw-query
│ └───seeders
├───public
│ ├───images
│ └───samples
├───routes
├───storage
│ ├───conversations
│ ├───imports
│ └───logs
├───uploads
│ ├───documents
│ └───images
└───views
└───emails
└───auth
Make sure you have Node.js installed.
git clone [email protected]:saumya04/Nodular.git # or clone your own fork
cd Nodular
npm install
npm start
Your app should now be running on localhost:3000. (Port depends upon the values from your env file)
This app is following the nodejs (express) boilerplate from hackathon-starter project
Commands to start and stop containers for this app:
- Command to start the containers ("--build" is for rebuilding with the dockerfile)
docker-compose -f .docker/docker-compose.yml up -d --build
- Command to stop the containers (with rebuilding the dockerfile)
docker-compose -f .docker/docker-compose.yml stop
- Command to kill a specific container
docker kill {container_name_or_id}`
- Command to remove a specific container
docker rm {container_name_or_id}
- running a cron
0 * * * * /usr/local/bin/node app/commands/cron-job.js
tail -f /var/log/cron.log