Giter VIP home page Giter VIP logo

crm-prototype's Introduction

CRM Prototype

This is a sample project created in Angular 12 with Express and MongoDb backend

Github repository: [https://github.com/VishalAkhouri/crm-prototype]

Structure of the project:

  • the main angular project was generated using angular/cli v12.0.4
  • added api-server code (nodeJs + express) as a library (temporarily) /projects/api-server
  • api server connects to MongoDB database

Install and start MongoDB:

  • Need to first start MongoDB database
  • In case mongodb is not install, refer to docker mongo to install and start mongo database docker image
  • note the url on which the mongodb has started --- example: localhost:27017');

Starting API Server:

  • change directory to /projects/ : cd projects
  • run npm install from inside /projects
  • start api-server
npm start (uses the default mongodb url as: localhost:27017)

or 

npm start --dburl=<mongodb-url-to-connect> (use format uri:port )

if the api-server starts successfully, the following lines will appear in the console log

Express server running on port 5000
mongoDb connection was successful!

Starting angular project:

  • from the root directory, start the application
npm start
  • application can now be locally accessed at url:
http://localhost:4200/

Starting angular project with production environment config:

npm run start-prod

Unit tests (Jasmine + Karma)

npm run test

End to end tests (Cypress)

npm run cypress:run

Choices of technology:

  • Front end framework: Angular 12
  • Bootstrap 5 + Custom SCSS
  • State management: NgRx (Redux) + RxJs
  • Unit testing - Jasmine + Karma
  • E2E testing - Cypress

The following needs to be implemented and will be factored in next iterations:

  • Unit test coverage for all the included functionality
  • E2E tests - create a new environment file for e2e tests to connect to a different e2e database
  • Enhancements to list data table
    • Show details panel on clicking email address shown as link
    • filtering based on last name
  • Add a notification panel common component

Screenshots

Add Customer

crm-prototype's People

Contributors

vishalakhouri avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.