Our team for boilermake6 is comprised of 1 second year pre-med student, 2 seniors completing their bachelors in Computer Science, and 1 software engineer completing his masters in Computer Science.
The project is a simple voting app. It is hosted live here.
A user can sign-up for a voting session, entering in some simple demographic data. A user can initiate a new vehicle pair to vote against from the menu or on the home screen. The vehicles are pulled on the fly from the Liberty Mutual Shine API. Some sample stats are shown on the compare page. The data pulled from Liberty Mutual is then run against Bing Image Search to pull the first result to display. The user can then vote for either vehicle, which gets saved to MongoDB. The vote feed page shows current votes in the system for vehicle compares. Other users can then add their vote. The plan with aggregating the demographics would be to show a demographics report based on the vehicles chosen.
We've divvied up the tasks as external API wrangler, 2 frontend devs, 1 devops/backend.
We are using Angular 7, MongoDB Stitch, Librerty Mutual Shine API, and Bing Image Search API.
We've structured our Angular application into components, services, modules, and models.
We followed MongoDB's Stitch's templates for database rules.
We're using Github for hosting.
- A user should be able to sign up for the application, providing demographic data.
- A non authenticated user should see a list of previously voted items.
- An authenticated user should be able to vote on a new vehicle comparison.
- An authenticated user should be able to vote on an already existing comparison.
- Always run code before pushing to remote, do not push broken code.
- Follow the folder structure given for front end development.
What it does
Simple app exploring capabilities of Stitch.
How we built it
Angular, Stitch, MongoDB, Liberty Mutual, Bing
Challenges we ran into
Using Stitch we realized we couldn’t make database queries unless the user was authenticated. Users also wouldn’t be created until they confirmed their account, so any additional fields we requested during registration would need to be decoupled and stored and applied separately after they confirm their account.
Accomplishments that we're proud of
Teamwork and ability to work through the difficulties without being discouraged. We were able to finish core functionality in time.
What we learned
How to work as a team together!
What's next for Stitch Vote
This was a sample of Stitch. We will likely watch it as it matures and maybe consider it for other future projects.