22/SP CIS-260 Final Projects

Midwest Thick Band

Team Members:

Jacob Angel – CIS Major

Chandler Thompson – CIS Major

Martin Wu – CIS Major

Brady Monk – CIS Major

 

Client:

Midwest Thick Band

 

Initial Project Presentation Final Project Presentation

Project Information:

This is a website for the Midwest Thick Band. The website consists of a way to view band events, photos, music, and videos. The website also allows for the band members to edit the media and schedule on the page through a staff portal. 

The website is a .NET 6.0 web application written in server side Blazor and utilizes the following NuGet Packages: 

  • Microsoft.AspNetCore.Authentication.Google
  • Microsoft.AspNetCore.Identity 
  • Microsoft.AspNetCore.Identity.EntityFrameworkCore 
  • Microsoft.EntityFrameworkCore 
  • Microsoft.EntityFrameworkCore.SqlServer 
  • Microsoft.EntityFrameworkCore.Tools 

A code-first Entity Framework approach was taken to generate the database schema into a Microsoft SQL Server database. Sequel Server Management Studio was used to view and query the database. Microsoft Identity Framework & Google OAuth 2 was utilized alongside Entity Framework Core to handle users and role based authentication. To publish the application, a dedicated Windows virtual machine with Internet Information Services (IIS) was used. The website was eventually migrated from the Windows virtual machine to Everleap, a cloud hosting service for ASP.NET web applications. Visual Studio Community 2022 was used to develop the application while our codebase was uploaded to a TFS Collection via VS2022. 

An initial meeting was held with the client to discuss the scope & requirements of the website. Basic website architecture work was started along with adding required middleware for identity framework, entity framework, and Google authentication. Database was generated with entity framework once the context file was written. IIS was configured to run our application on the Windows virtual machine, publish files were then moved manually to the server. A Google cloud project was made for both the IIS site and the local environments, the client ID and client secret for OAuth 2 was given to our project and used for the Google authentication middleware. After authentication work was finished, work began on the media pages and manager pages. Work was completed for the photos, videos, and music pages along with the media manager which allowed us to add or delete media from those pages. Login and Logout pages were created that utilized a username and password system to compensate for the Google authenticator not working. User manager was completed along with the functionality to add or remove the staff role from users who have logged onto the website.

Domain was registered via GoDaddy for www.midwestthick.com and an A record was pointed to our public IP address of the Windows server. An SSL certificate was required to get the Google authenticator working so a program called win-acme was installed on the server which uses Let’s Encrypt servers to generate and install the certificate for free. After the SSL was installed the Google authenticator was working properly, the credentials based logins were removed and authentication was added to the manager pages. After the authentication was added, we held a meeting with the client to discuss the features that we had build thus far. After getting the O.K on the current features, work began on the event schedule, event manager, and polishing on the other static pages. Work on the event manager and event schedule were completed and work began on migrating the website to a cloud based environment. Everleap was chosen to be the platform of use, the 1 website packages was chosen which gave us access to 10 MS SQL databases and 1 web application for $20 a month. The DNS records were adjusted to use the new Everleap server and using the account credentials, we were able to use a web deploy package to upload our published files to their server. To get SSL working for the new website, a .pfx file was needed. To generate this file, a certificate was retrieved from sslforfree.com and a program called openSSL was used to generated the .pfx file. We also migrated to a new database and with the code first EF approach we were able to re-generate the database scheme instantly. After everything was migrated to Everleap further polishing & styling to the website was done. The everleap account is planned to transfer to the client before May 12, this concludes the work that was done for the Midwest Thick Website. 


Innovative Pump Solutions

Team Members:

Chase Cook – Computer Information Science

Kyan Carr – Computer Science

Marco Chico – Computer Science

Keegan Whitener – Computer Information Science

 

Client:

Scott Preslar – Owner of Innovative Pump Solutions

 

Initial Project Presentation Final Project Presentation

Project Information:

The purpose of this project was to find a real client to develop something for in order to test our knowledge of what we’ve learned. The client that we ended up working for is Scott Preslar, the owner of Innovative Pump Solutions. He originally just wanted us to build him a website, but for the purposes of this class, we needed to develop more than just a website. So, we asked Scott if he wanted us to develop anything else for him. Thankfully, he said that a mobile application would also be useful to his company and customers. 

We began developing his website. We started by creating the wireframe for the site using Miro.com that Dr. Ford recommended to us. Miro was a convenient and easy way for us to plan how we wanted the website to look. Once we were satisfied with the wireframe, we needed to figure out how we were all going to be able to collaborate on the code. We did some research, and we found an extension called Live Share for Visual Studio Code. This extension allowed us to code collaboratively on the same project. This made working together remotely much more efficient. Once we finished the website, we deployed it onto the internet with a custom domain (ips.llc) using Netlify. 

Once the website was deployed onto the internet, we began the same planning process for the mobile app as we did for the website using Miro. The app was developed in Java using Android Studio. Android Studio allowed us to conveniently develop an Android mobile application using helpful tools such as emulators in order to test the app on a virtual Android device. We ran into a few issues throughout the course of development, but we worked through them as a team. Once we finished the mobile app, we published it to the Google Play Store. The final product of both the website and mobile app turned out very polished and will help Innovative Pump Solutions out a lot according to our client. 


Warriors Roofing

Team Members:

Devon Davidson – CS

Illia Bondar – CS

Isaac Stomboly – CIS

 

Client:

Warriors Roofing

 

Initial Project Presentation Final Project Presentation

Project Information:

This project consists of the development of a website for Warriors Roofing. The main purpose of the website is to generate minimum quotes for their customers with a secondary purpose of the website being generating and printing invoices which would be used internally by the employees unlike the quote generator. The quote generator has multiple input fields where the user must enter some information like Length of Roof, Width of Roof, Pitch of Roof and Number of Stories to get their minimum quote. The invoice generator is meant to help Warriors Roofing save time as it has multiple input fields to calculate the total cost and the ability to print out the said invoice by using the browser’s built-in print function. Aside from the two components above, the website has standard web pages like Home, where the user is prompted to use the free quote generator and the ability to do so with one click of a button. Additionally, right below the user can find contact information which they can use to reach Warriors Roofing for more details. Lastly there is an About page where some information and a brief history of the company can be found and right below the user can see some pictures of some of the company’s work as examples. 


Trucking Company Logistics – VSEIS

Team Members:

Matthew Kepley: Computer Information Science, Project Manager and Database Administrator and SQL Script Writer

Zachary Gilmore: Computer Information Science, Lead UI Designer and Data Validator

Fredrick Kowiti: Computer Information Science, Syncfusion/PDF Expert, Data Validator and SQL Script Writer

Dmitry Shabura: Computer Information Science, S3 System Administrator and Client Liaison

 

Client:

VSEIS

 

Initial Project Presentation Final Project Presentation

Project Information:

This project is designed to be an inventory and invoice management system for the VS Express trucking company. The company is looking to expand their business, and to accomplish that it needs a system in place that streamlines their bookkeeping and document management process.  

The VS Express Inventory System (VSEIS) accomplishes this task by providing the client with a database and S3 bucket system to store truck load, driver information, and any other data or documentation they may need for easy storage and access. The client can download and view any necessary data by searching for any relevant load or driver information. Any relevant documentation related to their search can be viewed within the program, and any load or driver objects that need to be adjusted can be edited or removed altogether. The project also enable for company and driver logistics, so the client can view the stats of whichever driver or company they wish. 

The project also offers a reports system where the client can view, download, and/or print receipts, invoices, and view expense reports. The client can also generate pdfs of whichever reports they wish, and download or send to the relevant persons or companies involved. 


Art Commision Website

Team Members:

James Woods – CIS Major (Transfer Degree)

Madison Lowe – CIS Major (Associate of Applied Science Degree)

Kirsten Wilson – CIS Major (Associate of Applied Science Degree)

 

Client:

Juniper Lowe

 

Initial Project Presentation Final Project Presentation

Project Information:

Project Overview / Need / Purpose: 

Our client was Juniper Lowe, a freelance artist who needed a website to market themselves, generate leads, manage commission work, handle payments, and communicate with customers all in one place. We developed a website for them which showcases their work in an art gallery and backlinks to their social media accounts to help build brand awareness and internet marketing for lead generation.  The website includes a simple contact form for potential leads to easily contact inquiries about commission details, a commission services form for users to complete for a general estimate. This includes a pricing breakdown of the type of commission they are interested in based on details such as number of characters, backgrounds, art style, etc. 


User Commission Workflow:

To submit a commission service request form, the user must first create an account. This allows users to create multiple commission requests and manage each of them separately. Each commission request includes a message history to keep discussion details about a specific commission easily accessible and organized, instead of details being lost across multiple emails.  Commissions transition through several statuses. After submitting a commission service request form, it is placed in the Pending status for admin review. Admins can then use the messaging system or email the potential customer directly to discuss further details, after which the commission status is changed to either Approved or Declined. Once a commission has been approved the customer can pay the initial fifty percent deposit via PayPal or the total amount at any time. The site admin will then update the status to In-Progress to let the customer know they have begun work. Once a commission has been completed and the admin confirms total payment has been received, they will upload the commissioned work for the customer to download and update the status to Completed. Customers will then be able to download the commission deliverables from the Dashboard / Commissions listing page. 

 

Technology Stack:

Bootstrap is used as a CSS component and class utility library allowing us to focus on overall user site interaction without spending too much time developing component styles from scratch. Vue/Nuxt framework is for front-end website development to handle server and client-side rendering, and static site generation. The Strapi headless CMS is used for the backend data store and user authentication. Strapi allowed us to easily establish our data models, as well as manage user roles and permissions.


A.G. Customs

Team Members:

Gavin Elliott

Hannah Givens

Branden Phillips

 

Client:

A.G. Customs

 

Initial Project Presentation Final Project Presentation

Project Information:

The purpose of the Customs Webpage Project is to increase the productivity and the timeliness of the AG Custom’s day-to-day operations. This project will meet AG Customs needs for a more streamlined and time efficient digital recordkeeping and order management system by allowing a user to login and order from the web instead of through a manual paper order. This project’s deliverables will include a general design of the webpage, all code used in the webpage’s development, testing, and delivery, and a user’s guide to help with ease of access for this webpage once delivered. The goal of the Customs Webpage Project is to help reduce the overall interaction time between the customer and AG Customs by 40% and to help transition all documentation to a digital/online format from a manual format.