- Overview
- User Stories
- Built with
- Prerequisites
- Installation
- Future Work
- Authors
- License
- Acknowledgement
The quick quote application is a web-based full-stack application that provides an instant quoting service to 2D cutting shops.
- Buyers can drag and drop the DXF files in the buyer home page.
- Buyers can select the material name, quantity, cutting process, and thickness.
- Buyers can view the instant quotes based on the DXF files.
- Buyers can place the order.
- Buyers can provide their payment information.
- Sellers can create an account, login and logout.
- Seller can add their information like company name and motto.
- Sellers can add the material and process their shop offers.
- Seller can view the material setup.
- Seller can view the order placed by buyer.
- Seller can download the DXF file uploaded by buyer.
- Seller can view the buyer information.
- Figma: Design tool with real-time collaboration.
- ReactJs: JavaScript library for building user interfaces.
- SpringBoot: Java framework for application development.
- Kabeja: Java libraby for DXF file parsing (Jar file attached with code).
- Amazon DynamoDB and S3: Cloud service platform for database and file storage.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Things that needs to be installed.
- Intellij Ultimate(2019 or latest)
- Java SE JDK 16
- Node.js 14.17.5(or latest)
-
Clone the repo
git clone https://github.com/nishan855/QuickQuote
-
Navigate to the directory “quickquote”. ##### Directory tree: Quickquote -> quickquote
-
Install npm package
-
Other necessary installation are:
- npm install react-uuid
- npm install @aws-amplify/auth
- npm install @material-ui/core
- npm install @material-ui/icons
- npm install @paypal/react-paypal-js
- npm install @testing-library/jest-dom
- npm install @testing-library/react
- npm install @testing-library/user-event
- npm install aws-sdk
- npm install react-bootstrap
- npm install react-router-dom
- npm install styled-components
- npm install react-scripts
- npm install react-toastify
- npm install react-uuid
-
Set up your aws(Refer to AWS server Settings file) and do following steps. Start application (npm start) to see the app withour connection to aws server.
!! ! Remember You are not connected to aws server at this moment!!! -
Generate your own aws-exports.js and S3config.js and replace the current files with yours. Detailed step of these is in AWS server Settings file
-
In DynamoConfig.js file, replace the access key and secret key with your own AWS keys.
Detailed step of these is in AWS server Settings file. -
Start the React application. This will open the app on your localhost: 3000 ##### npm start
-
Clone the repo
git clone https://github.com/nishan855/QuickQuote
-
Navigate to the directory “springPractice”. Directory tree: Quickquote -> springPractice
-
Open springPractice on the IDE For IntelliJ, go to File -> open, selcet springPractice folder.
-
Setup your JDK. For this project, we have used openjdk 16. To set a JDK for this project (on Intellij), go to File -> Project Structure -> Project, select your JDK under Project SDK.
-
Add Kabeja.jar as one of your libraries. Kabeja-0.4 jar file is attached with this project source code For this (on intelliJ), go to File -> Project Structure ->Libraries, add kabeja as a library
-
Configure your AWS DynamoDB with Spring boot. For this, Provide your AWS access and secret key on DynamoDBConfig.java file as done before.
-
Run the application as “Spring Boot application”.
You will get “Spring boot application started” message on terminal. Although this server use local host:8080 normally, there is no UI for this (Just an API).
Test it while placing order on buyer side with DXF files. -
All the dependencies are in Pom.xml file. Dependencies includes: aws-java-sdk-bom 1.11.1000 aws-java-sdk-dynamodb
For this, refer to the document, AWS_Server_Settings, which is submitted with the documentation.
All the future work will be done with close consultation with the sponsor Robert Gullette. As per Sponsor, most of the functional work is already completed.
-
Better area calculation algorithm or library for all DXF shapes (Springboot).
-
Better Interface for editing material available or making changes to the previously available material (Shop side).
-
Some UI changes, modern nice UIs.
Others, as requested by sponsor.
- Keng, Eric
- Kunwar, Alisha
- Laith, Marzouq
- Parajuli, Sindhu
- Thapa, Nishan
This project is distributed under the MIT License.
This is CSE-Senior Design Project , CSE 4316 and CSE 4317, under Professor Shawn Geiser, Christopher McMurrough and Sponsor Robert Gullete.