/careydevelopmentcrm

Angular customer relationship management (CRM) app.

Primary LanguageTypeScriptMIT LicenseMIT

Carey Development Logo

Carey Development CRM

license

This is an ongoing project that demonstrates how to build a customer relationship management (CRM) application using Angular, Spring Boot, and MongoDB.

Each lesson is a separate branch. The latest state of the whole project is in the master branch.

Dependencies

DON'T FORGET TO INSTALL THE DEPENDENCIES! You can do that easily by opening a command prompt, going to the directory where this project is located, and typing:

npm install

That's it. That should do it.

If you're still having issues, you might need to blow away everything in the node_modules directory run npm install again.

All the Guides

If you're interested in following the guides, just view the careydevelopmentcrm tag on the Carey Development website. Note that all lessons are in reverse chronological order so if you want to start at the beginning, go to the last page.

Microservices

Keep in mind: this Angular app runs alongside a microservice architecture. Here's a list of the current microservices the app uses as well as links to their source code on GitHub.

  • User Service - handles authentication and features related to user info (updating account details, adding a profile image, etc.)
  • Customer Service - handles CRUD activities related to contacts (sales leads, customers, etc.) and accounts
  • Email Service - for integration with email (currently only supports Gmail)
  • Product Service - handles CRUD activities related to products
  • CRM Service - handles CRUD activities related to CRM-specific objects such as appointments, meetings, and more
  • Geo Service - retrieves lists of geographies such as states and countries (currently not public)

Configuration

Speaking of microservices, you'll need to update the code to point to the downstream APIs. To do that, you'll need to edit both of the files in src/environments.

Right now they're just dummied up, so you'll need to put your own URLs in there.

For example, if you deploy the ecosystem-user-service so that it's located at http://mygreathost.com/user, then you'll need to set the following property:

baseUserServiceUrl: 'http://mygreathost.com/user'

Keep in mind: environment.ts is meant for non-production systems while environment.prod.ts is meant for production systems. So update the values accordingly.

Persistence

The microservices in turn use MongoDB for persistence. For more info about how to set up the MongoDB databases and collections used by the microservices, check out this guide.