This project is based on ideas from the sites linked to in the References section but simplified for the purpose of quickly starting up a project and customizing it for a general purpose website
- Bootstrap 3
- Angular 2 with Webpack 2.x using angular-cli
- Eager and lazy routing as well as child routings
- template-driven and model-driven (Reactive) forms using FormBuilder and Validators
- Authentication using JSON Web Tokens (JWT), user registration and password reset
- Email using Nodemailer that's compatible with most SMTP and cloud email providers for password reset purpose
- Multi tabs interface for user settings
- MongoDB data access using Mongoose and initial user account seeding using mongoimport
- Node.js with Express
To do local development without using Docker, make sure the following software are installed.
- Make sure the MongoDB server is running and listening on localhost port 27017. If your server is running somewhere else or listening on other port, don't forget to update the 'database' value in the './mean-docker/server/config.js' file
- Run the './seed.sh' or './seed.cmd' script depending on if you're using Mac/Linux or Windows machine to seed your MongoDB database with an 'Admin' and 'Demo' users. Use the info below to login to the 'client' site:
- User: admin@company.com, Password: admin
- User: demo@company.com, Password: demo
- Open up two command-line interfaces and change to the "client" and "server" folders respectively then enter "npm start" to run both the client and server apps
cd ./mean-docker/client
npm start
cd ./mean-docker/server
npm start- After the above steps, there will be two web sites running on your machine. The 'client' site will be on port 4200 and the 'server' site on 3000
Once all development are done, you can use Docker Compose to deploy services into containers. Make sure you install the Docker software at the link below. On Mac, install 'Docker for Mac'. On Windows, install 'Docker for Windows'. On Linux, install 'Docker Engine' for your specific Linux distribution
- Builds, creates, starts all services in the foreground for debugging purpose
docker-compose up- Builds, creates, starts all services in the background
docker-compose up -d- Stops, removes all services
docker-compose down- Rebuild all the services and starts them
docker-compose up -d --build- Rebuild a single service and start it
docker-compose up -d --no-deps --build <service_name>


