Skip to content

Commit

Permalink
Update Manual
Browse files Browse the repository at this point in the history
  • Loading branch information
ksharma67 committed May 8, 2023
1 parent 0c9810d commit 8181ca3
Show file tree
Hide file tree
Showing 8 changed files with 174 additions and 75 deletions.
Binary file modified .DS_Store
Binary file not shown.
Binary file modified ProjectDocs/.DS_Store
Binary file not shown.
Binary file modified ProjectDocs/Artifacts/.DS_Store
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified ProjectDocs/Artifacts/Retrospective/Sprint 7.pdf
Binary file not shown.
75 changes: 0 additions & 75 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,81 +2,6 @@

[View Project Description as PDF](https://github.com/htmw/EasyWay/blob/main/ProjectDocs/Artifacts/Project%20Description/Project%20Description.pdf) | <a id="raw-url" href="https://github.com/htmw/EasyWay/blob/main/ProjectDocs/Artifacts/Project%20Description/Project%20Description.docx">Download Project Description as Word Document</a>

### Project Overview

The "EasyWay" web application is a comprehensive platform designed to aggregate various utility services, including beauty, electrical maintenance, home cleaning, pest control, and more. The primary objective of the application is to provide a convenient and hassle-free experience to the end-user, enabling them to book services, pay for them, and give feedback, all in one place.


### Key Features

The key features of the EasyWay web application include:

* **Easy service selection:** The end-user can select their preferred service from a list of available options.
Convenient appointment booking: The application facilitates easy calendar and time slot booking, allowing the user to schedule services at a convenient time.
* **Seamless payment process:** The end-user can pay for their services securely and conveniently.
* **Feedback mechanism:** The application enables the end-user to give feedback on the services they have availed, thus ensuring quality control.
* **One-stop-shop:** The application serves as a one-stop-shop, catering to all the utility needs of the end-user.


## Project Design

### Architecture Overview

The EasyWay web application is built using a client-server architecture, with the front-end implemented in Angular JS, the backend in Node JS, and the server in GOLang. The database system used is MySQL.

### Front-end Design

The front-end of the EasyWay web application is designed using Angular JS, a popular framework for building single-page applications. The front-end design includes the following components:

![Node.js Automated Testing](https://github.com/htmw/EasyWay/actions/workflows/node.js.yml/badge.svg) - [Front-end Smoke Testing](https://github.com/htmw/EasyWay/actions/workflows/node.js.yml)

* **User Interface:** The user interface is designed to be intuitive and user-friendly, with clear and concise layouts and color schemes.
* **Navigation:** The navigation system is designed to provide easy access to all the features of the application, with clearly labeled menus and icons.
* **Forms and Input Fields:** The forms and input fields are designed to be easy to use, with clear instructions and error messages.
Interactive Elements: The interactive elements, such as buttons and links, are designed to provide a responsive and smooth user experience.

### Back-end Design

The back-end of the EasyWay web application is designed using Node JS, a popular framework for building scalable and performant applications. The back-end design includes the following components:

![Go Automated Testing](https://github.com/htmw/EasyWay/actions/workflows/go.yml/badge.svg) - [Back-end Smoke Testing](https://github.com/htmw/EasyWay/actions/workflows/go.yml)

* **RESTful API:** The back-end provides a RESTful API for the front-end to communicate with the server.
* **Database Access:** The back-end interacts with the MySQL database system to store and retrieve data.
* **Server:** The server component of the back-end is implemented in GOLang, a high-performance programming language designed for building scalable and efficient applications.

### Object Detection using Deep Learning

One of the key features of the EasyWay web application is its ability to detect objects in images submitted by users. This is accomplished using a state-of-the-art deep learning algorithm for object detection.

#### How Object Detection using Deep Learning Works

Object detection using deep learning is typically accomplished using a convolutional neural network (CNN) that is trained on a large dataset of labeled images. During training, the network learns to identify features that are useful for object detection, such as edges, corners, and other distinctive patterns.

Once the network is trained, it can be used to detect objects in new images by scanning the image and predicting bounding boxes and class probabilities for each object detected. This process can be made more efficient by using techniques such as anchor boxes, which are pre-defined boxes of various shapes and sizes that the algorithm uses to predict object locations.

#### Implementation in EasyWay

In EasyWay, object detection using deep learning is used to detect objects in images submitted by users, such as images of damaged equipment or pests. The algorithm is implemented using a neural network framework that is optimized for GPU computing.

The model used in EasyWay is trained on a custom dataset of images relevant to the utility services provided by the application, including images of equipment, pests, and other relevant objects. The model is fine-tuned using transfer learning on a large-scale dataset of common objects in natural scenes.

#### Benefits of Object Detection using Deep Learning

Object detection using deep learning offers several benefits for the EasyWay web application, including:

* **Real-time performance:** The algorithm is designed for real-time object detection, making it well-suited for the real-time nature of the EasyWay application.
* **High accuracy:** Object detection using deep learning is one of the most accurate object detection algorithms available, with state-of-the-art performance on common object detection benchmarks.
* **Easy to use:** The algorithm is easy to use and integrate into the EasyWay application, thanks to its well-documented implementation in the neural network framework.
* **Customizability:** The algorithm can be easily fine-tuned on custom datasets to improve its accuracy on specific types of objects.

### Deployment

The EasyWay web application is deployed on a cloud platform named Amazon Web Services (AWS). The front-end and back-end components can be deployed separately to ensure scalability and reliability.

![Deployment Status](https://api.netlify.com/api/v1/badges/57f211b7-3340-4374-a825-55fa2f4b2a82/deploy-status) - [Deployed Front-End](https://easywayapp.netlify.app/)


## File Structure

Our application is structured as follows:
Expand Down
174 changes: 174 additions & 0 deletions db/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
<p>
ColdFusion has the ability to communicate with a number of different databases, which will be covered later on in this course; for the sample application we will be working on throughout the course, we will be using MySQL. If you already have MySQL 4 or 5 already installed, you can proceed to the 'Install Sample Files' section. If not, follow the steps below:
</p>
<h2>
Windows
</h2>
<p>
<ol>
<li>
Open up a browser and go to: <a href="http://dev.mysql.com/downloads/mysql/" target="_new">http://dev.mysql.com/downloads/mysql/</a>
</li>
<li>
Scroll to the list of available downloads. Click the 'Download' button next to the applicable download.
<ul>
<li>
Windows 64 bit - Windows (x86, 64-bit), MSI
</li>
<li>
Windows 32 bit - Windows (x86, 32-bit), MSI
</li>
</ul>
If you are unsure, assume you are on a 32 bit machine.
</li>
<li>
To begin the download, you must either login using pre-existing credentials by clicking the 'Proceed' button under the New Users section or click the 'No thanks, just start my download' link at the bottom of the screen.
</li>
<li>
Save the file to your desktop.
</li>
<li>
Double click the file.
</li>
<li>
On the Welcome screen click 'Next'.
</li>
<li>
Accept the terms in the license agreement and click 'Next'.
</li>
<li>
When presented with a list of available Setup Types, Select 'Typical'.
</li>
<li>
When ready to install, click 'Install'.
</li>
<li>
If a system message pops up asking if you want the software to be installed on your machine, click 'Yes'.
</li>
<li>
If a MySQL enterprise pop up window appears, click 'Next' until it disappears.
</li>
<li>
When the Setup Wizard has completed, Click 'Finish'.
</li>
<li>
If you receive another pop up message asking if you want the software to be installed on your machine, click 'Yes'.
</li>
<li>
When the Server Instance Configuration Wizard displays, Click 'Next'.
</li>
<li>
When displayed the available Server Instance Configuration types select 'Standard Configuration' and click 'Next'.
</li>
<li>
When on the Windows Options scree, keep 'Install as a Service' selected as well as 'Launch the MySQL Server automatically'. Select the 'Include Bin Directory in Windows PATH' option and select 'Next'.
</li>
<li>
On the Security Options scree, specify a new root password and select 'Next'. Remember this password as it will be needed later!
</li>
<li>
When the Ready to Execute screen displays, click 'Execute'.
</li>
<li>
After all the Configuration steps have successfully run, Click 'Finish'.
</li>
<li>
You have successfully installed MySQL.
</li>
</ol>
</p>
<p>
<object width="640" height="360"><param name="movie" value="http://www.youtube.com/v/JGNP6PP2-j8?version=3&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/JGNP6PP2-j8?version=3&amp;hl=en_US" type="application/x-shockwave-flash" width="640" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object>
</p>
<h2>
Mac
</h2>
<p>
<ol>
<li>
Open up a browser and go to: <a href="http://dev.mysql.com/downloads/mysql/" target="_new">http://dev.mysql.com/downloads/mysql/</a>
</li>
<li>
Scroll to the list of available downloads. Click the 'Download' button next to the applicable download.
<ul>
<li>
Mac 64 bit - Mac OS X ver. 10.6 (x86, 64-bit), DMG Archive
</li>
<li>
Mac 32 bit - Mac OS X ver. 10.6 (x86, 32-bit), DMG Archive
</li>
</ul>
If you are unsure, assume you are on a 32 bit machine
</li>
<li>
To begin the download, you must either login using pre-existing credentials by clicking the 'Proceed' button under the New Users section or click the 'No thanks, just start my download' link at the bottom of the screen.
</li>
<li>
Save the file to your desktop.
</li>
<li>
Double click the file.
</li>
<li>
Once the DMG has mounted, double click the mysql-5.5.28-osx10.6-x86_64.pkg (or similar) file. It should be the first file in the list.
</li>
<li>
On the welcome screen, click 'Continue'.
</li>
<li>
Review the Important Information screen and click 'Continue'.
</li>
<li>
Review the Software License Agreement and click 'Continue'.
</li>
<li>
Agree to the terms.
</li>
<li>
Select the drive you wish to install the software to and click 'Continue'.
</li>
<li>
Click 'Install'.
</li>
<li>
Provide your system password and click 'OK'.
</li>
<li>
Once you receive the screen stating the Installation was Successful, click 'Close'.
</li>
<li>
Double click the MySQL.prefPane icon.
</li>
<li>
Click 'Install'.
</li>
<li>
If the MySQL server is not running, click the 'Start MySQL Server' button.
</li>
<li>
If prompted, provide your system password and click 'OK'.
</li>
<li>
Click the 'Automatically Start MySQL Server on Startup' check box.
</li>
<li>
Close the window.
</li>
<li>
Open up a terminal window and enter the following:<br />
<span class="code">/usr/local/mysql/bin/mysqladmin -u root password [NewPassword]</span>
</li>
<li>
Make sure to replace [NewPassword] with the password you wish to use for the root user. Remember this password, it will be needed later.
</li>
<li>
Close the Terminal window.
</li>
<li>
You have successfully installed MySQL.
</li>
</ol>
</p>
<p>
<object width="640" height="360"><param name="movie" value="http://www.youtube.com/v/LVV78YWohA0?version=3&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/LVV78YWohA0?version=3&amp;hl=en_US" type="application/x-shockwave-flash" width="640" height="360" allowscriptaccess="always" allowfullscreen="true"></embed></object>
</p>

0 comments on commit 8181ca3

Please sign in to comment.