The chat-application is created to learn Angular, Ionic, NodeJS, expressJS, MongoDB. This application is design and developed for learning purpose.
The following technical concept's get clear through this application:
- Set up a NodeJS + Express + MongoDB + Angular + Ionic Application with the help of the Angular CLI, Ionic CLI and Node Command Line Tool
- Use NodeJS and Express framework
- Use JWT for authentication
- Add authorization to Angular apps
- Understand RESTful API Design
- Image upload from Angular and Ionic apps
- Use Cloudinary cloud storage for images
- Connect your NodeJS backend with your Angular App through Angular’s HttpClient service
- Connect your NodeJS backend with your Ionic App through Ionic's providers
- Add private chat functionality
- Add emojis to Angular and Ionic apps
- SocketIO for real-time interaction
- Use materialize css framework
- Handle Errors
- Forms with validations
- Learn concepts like Angular's http interceptors
- Update Angular apps to Angular 7
- Angular Lazy Loading techniques
Use the node package manager npm to install dependencies.
Use following command in all three folder's to install dependencies
npm install
To run angular frontend app use following command after installing the dependencies. To run below command please make sure angular-cli installed in your machine. After running this command your front-end application start running on your default browser on port 4200.
ng serve -o
For running the backend application use following command after installing the dependecies. Make sure that Mongodb-compass is installed on local machine. Application creates a database with the name chat-app.
npm start
For running the Ionic-front-end application use following command after installing the dependecies. Make sure that you have installed ionic-cli bash npm install -g @ionic/cli
and cordova bash npm install -g cordova
ionic serve -l
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.