Clientzilla is the latest and greatest web application that will help you handle your clients and the services that you offer.
Gervin Ken Valverde, Esteban Camarillo, Larissa Gonzalez
- Download Node.js
- We will use Node Package Manager npm to install our dependencies.
- Run the command below in the project-cis_4339_project_15 folder AND in the cis-4339-project-frontend folder.
- You will run the command TWICE.
npm install
- Start the backend server. Run this command in the project-cis_4339_project_15 folder
npm run devstart
- Start the frontend server. Run this command in the cis-4339-project-frontend folder
- If successful, follow the link given in the the command line to open the application
npm run dev
- Download Postman
To get a high level view on our collections and documents, the following are the current models that we have. Each of these models have routes that mainly have to do with GET, POST, PUT & DELETE requests.
- Intake Forms
- Organizations
- Programs
- Services
As of right now, Clientzilla's functions and operations lie within the URL and the routes that we have defined in our code.
The following sections will go over how to use those routes.
An API testing software we highly suggest using Clientzilla on (especially if you want POST, PUT, and DELETE requests) is Postman.
Google Chrome will suffice if you want GET requests only.
localhost:3000
This URL will get you to the homepage.
The initial port number is 3000.
You may change the port number you want to run on in the .env file
Please note that anything following a colon (:) is a request parameter for the URL.
Example -> someURL/:id
Use the GET method in Postman
localhost:PORT/intakeforms
localhost:PORT/organizations
localhost:PORT/programs
localhost:PORT/services
Use the GET method in Postman
localhost:PORT/organizations/:orgID
localhost:PORT/intakeforms/:clientID
localhost:PORT/programs/:programID
localhost:PORT/services/:serviceID
Use the DELETE method in Postman
localhost:PORT/organizations/:orgID
localhost:PORT/intakeforms/:clientID
localhost:PORT/programs/:programID
localhost:PORT/services/:serviceID
Use the POST method in Postman
- Choose the body option under the url bar
- Choose raw and ensure it is written in JSON
- Inside { }'s write the model's fields and the corresponding data. Please make sure the field names are written correcty.
localhost:PORT/organizations
localhost:PORT/intakeforms
localhost:PORT/programs
localhost:PORT/services
Use the PUT method in Postman
- Choose the body option under the url bar
- Choose raw and ensure it is written in JSON
- Inside { }'s write the model's fields and the corresponding data you want to change. Please make sure the field names are written correcty.
localhost:PORT/organizations/:orgID
localhost:PORT/intakeforms/:clientID
localhost:PORT/programs/:programID
localhost:PORT/services/:serviceID
The following are routes that use MongoDB's Aggregation.
As of right now, the only models that use aggregation are organizations and programs
Use the GET method in Postman
localhost:3000/organizations/organization-program/:orgID
Use the GET method in Postman
localhost:3000/programs/program-service/:programID
Clientzilla also works alongside an external API with a list of clients that have been in contact with various organizations around the city of Houston. Here's how to use it.
Use the GET method in Postman
localhost:3000/clients
Use the GET method in Postman
localhost:3000/clients/:first_name/:last_name/:phone_number