A full MEAN stack app to perform CRUD operations related to customer migrations/implementations. The Customer Tracker website allows users to add, edit, or delete customer records. Non-registered users can access a table of customer data and export it to a .CSV file. Records are displayed in a sortable, editable datatable.
All of this data is stored in a mongoDB database instance. Mongoose is used to model mongoDB objects in node.js.
The application is hosted using a Node.js server, utilizing the Express.js framework.
The frontend is built using Angular 4 and PrimeNG as an added UI Library.
Customer Tracker started with a need for employees to track the status of customer network implementations. A shared workbook was originally used to get a high-level status of customer migrations. This ultimately leads to fragmented document versions or read-only lockouts. This web application allows concurrent users to view, update, and delete customer records. It also provides the same functionality of a spreadsheet by using the PrimeNG UI library.
-
Download and install Node.js using these instructions. This will give you access to npm as well.
-
Download and install mongoDB using these instructions.
-
Install Git or GitHub Desktop.
- Download and install GitHub Desktop using these instructions
- Or
- Download and install Git
- Download and install GitHub Desktop using these instructions
-
Clone this repository using the instructions from GitHub. This will get all project files to your machine.
- Ensure you use command:
git clone https://github.com/ZGrauer/Customer-Tracker.git
- Ensure you use command:
-
In a terminal, go to the cloned folder
-
Install all dependencies by entering
npm install
from a terminal within the cloned folder.
To run the app in development you must have both the mongoDB and node servers running after the project has been built by the compiler.
First, start mongoDB by running the below command in a terminal. If you encounter errors such as 'mongod' is not recognized as an internal or extrenal command
try running the command from the mongoDB install folder (C:\Program Files\MongoDB\Server\3.4\bin
for Windows). Additionally, you might need to create folders C:\data\db
for Mongo to run.
Leave this terminal open so mongoDB will accept connections to the database. If you wish to kill mongo press Command + C or Control + C.
$ mongod
# 2017-07-10T13:57:14.009-0500 I NETWORK [thread1] waiting for connections on port27017
Now that the database server is running the site can be compiled. Open a terminal in the main project folder (Customer-Tracker). Run the npm run build
command to build the development site.
Leave this terminal open. As you change the files they will be recompiled automatically. If you wish to kill the process press Command + C or Control + C.
$ npm run build
Finally, start the node server using npm start
. The site should be accessable from http://localhost:3000/
Leave this terminal open. As long as the process runs it should serve the website. If you wish to kill the process press Command + C or Control + C. If you change the files for the node.js server, you will need to kill and restart this command for the changes to take affect. This would be for files like ./Customer-Tracker/app.js
and the files in ./Customer-Tracker/routes
$ npm start
To build the project for production run the below command.
$ npm run build:prod
- Add charts using PrimeNG to summarize customer data
- Add ability to bulk load customer data. Currently use mongo.
- Add test cases
Feel free to dive in! Open an issue or submit PRs.
Customer Tracker follows the Contributor Covenant Code of Conduct.
GNU © Zachary Grauerholz