## Inspiration

## What it does

It is a tool that can generates passwords or passphrase with specified requirements.

## How we built it

Java, Spring Boot, React.js, Axios.

## Challenges we ran into

## Accomplishments that we're proud of

## What we learned

## What's next for Password Generator
## Inspiration

This project was inspired by the recommended beginner projects in the Hack Western 7 start kit document. Our original plan was to just code an encryptor/decryptor that shifts the letters of whatever the user enters down the alphabet by 4 letters. For example, A would become E, B would become F, C would become G, and so on. All it would need to be decrypted is to work backward. After getting the idea of encrypting we thought about passwords, and how we can "encrypt" the user's information by creating a strong password for the user. From that point on we started working on how we can best create secure passwords for the user to use for their accounts significantly lowering the chance the account has to get hacked.

## What it does

The password generator is exactly like its name says. It generates a complex but secure password for the user to use for any account. It has options to make it customizable but it is recommended to be used with a length of 16 characters including lower case letters, upper case letters, special characters, and numbers.

## How we built it

There were 3 steps to building the password generator. The first step was writing the javascript code. The javascript code is what actually generates the password. It contains the 3 functions that build the password. One of the functions randomly generates a character, number, or a special character. Another function calls the previous function in order to build characters into a password that does not contain any back to back duplicate characters. The last function checks if the password follows all instructions that the user has set. In order to use javascript, we had to create a website. The second step was writing Html code to run the javascript on the website. In this step, we built buttons that accept the user input and allowed the user to generate a password just by clicking. We also added a copy button for the user's convenience. The third and final step of the password generator was designing a pleasing user interface. Here we created the background image and set colours for all of the buttons. We formatted how everything would look so that a user would not experience any difficulty trying to use our website.

## Challenges we ran into

We ran into a few challenges while trying to create a website. The first challenge was coding in javascript. No one knew how to code javascript that well so we had to watch a crash course on javascript in order to learn the language and code with it. Luckily we were experienced in other programming languages so the transfer to javascript in a short period of time was difficult, but not impossible. The next challenge was arranging the buttons onto the middle of the page in a way that scales with different shapes of monitors. This was done using bootstrap which allowed us to create buttons that scale with the size of the page. The last challenge that we faced was making the background fit the full size of the monitor. This was figured out through a lot of research and attempts in order to develop a code that allows the image to fit properly.

## Accomplishments that we're proud of

Overall, we are proud that we participated in and completed our project for Hack Western 7. This was our team's first hackathon and we are proud of our work. We are proud of how we worked together to create this hack that is beneficial to people and can be used as a part of our daily lives.

## What we learned

Since it was our first hackathon we have learned so much from it. We have learned how to code in javascript and Html. We learned how to design a visually pleasing user interface. We learned how to use node.js, css, and bootstrap. We learned how to collaborate and work together as a group. We learned how to come up with ideas and act on them. We learned how to have fun with coding in such a short time period. Overall, Hack Western 7 has been a great learning experience for all of us.

## What's next for Password Generator

We are going to be working on making it more mobile-friendly. That way more users can use the web application and create secure passwords. We are also working towards adding more options to the password generator to make it feel more customizable while keeping it secure. More importantly, we are working towards creating a line of text that helps the user memorize their password. We are also planning on adding a feature that stores the password if the user has the website still in their history. In addition to that, we are working on allowing the user to the password and its memorizing text in order to have it stored on the user's computer instead of their website so that they can store it in a safer place in terms of cybersecurity.
## Inspiration

How did you feel when you first sat behind the driving wheel? Scared? Excited? All of us on the team felt a similar way: nervous. Nervous that we'll drive too slow and have cars honk at us from behind. Or nervous that we'll crash into something or someone. We felt that this was something that most people encountered, and given the current technology and opportunity, this was the perfect chance to create a solution that can help inexperienced drivers.

## What it does

Drovo records average speed and composite jerk (the first derivative of acceleration with respect to time) over the course of a driver's trip. From this data, it determines a driving grade based on the results of a SVM machine learning model.

## How I built it

The technology making up Drovo can be summarized in three core components: the Android app, machine learning model, and Ford head unit. Interaction can start from either the Android app or Ford head unit. Once a trip is started, the Android app will compile data from its own accelerometer and multiple features from the Ford head unit which it will feed to a SVM machine learning model. The results of the analysis will be summarized with a single driving letter grade which will be read out to the user, surfaced to the head unit, and shown on the device.

## Challenges I ran into

Much of the hackathon was spent learning how to properly integrate our Android app and machine learning model with the Ford head unit via smart device link. This led to multiple challenges along the way such as figuring out how to properly communicate from the main Android activity to the smart device link service and from the service to the head unit via RPC.

## Accomplishments that I'm proud of

We are proud that we were able to make a fully connected user experience that enables interaction from multiple user interfaces such as the phone, Ford head unit, or voice.

## What I learned

We learned how to work with smart device link, various new Android techniques, and vehicle infotainment systems.

## What's next for Drovo

We think that Drovo should be more than just a one time measurement of driving skills. We are thinking of keeping track of your previous trips to see how your driving skills have changed over time. We would also like to return the vehicle data we analyzed to highlight specific periods of bad driving.

Beyond that, we think Drovo could be a great incentive for teenage drivers to be proud of good driving. By implementing a social leaderboard, users can see their friends' driving grades, which will in turn motivate them to increase their own driving skills.