Co-op 2 Highlights 7

Week 7 has just finished up and I wanted to show a little of the progress on my current Capstone project – VARI.  VARI stands for Vineyard Attendance Reporting Index.  That name may change, but I wanted to be able to call it something while I am working on it.  Here is a screen shot of the current home page for the application:

Image

It’s been a week of ups and downs.  A major domain migration messed with my SQL Server settings (the name of my computer changed, so SQL couldn’t find the server anymore, even though it was still physically right there on the same computer – at least that’s how I understand it), and I have uninstalled and reinstalled SQL at least 6-7 times in the last few week, with no good results.  😦  From talking with our IT department, I have figured out that even though I uninstalled SQL, it still maintained some registry key history, so a new server name could not be identified (even with a new install, it was still looking for the old computer name, pre-domain-migration).  I finally have resolved to create my database in MS Access as close as I can to the original SQL database that I had created because I feel like I should be making some solid progress on this project (as it is already week 7!).  Down the road, if the project (VARI) proves to be valuable, then it can be migrated to a SQL database or even into the proprietary MySQL database, if desired.  I am patterning the tables as close as I can to the MySQL tables and even exporting a copy of the data from the tables I have copied, so hopefully that would happen easily.  However, it should also be fine as a stand-alone application.

I am also building VARI under the MVC model, so I am learning a ton as I go along, but this also is causing the project to move along at a much slower pace.

Our sister organization’s website is being remodeled and the wireframes are going to be reviewed at a meeting tonight.  Once the group reviews and determines to go ahead with a design choice, then I believe I will be more involved in this project in helping to transfer current web information over to the new format.  It will be interesting to hear everyone’s thoughts.  One thing I have learned in all my website work over the years is that people want really great websites, but don’t necessarily want to put the time into writing really great content (with the end user in mind, of course).  I have seen this with Facebook recently too.  There is a sub-group under our sister organization that has a FB page and wants to build followers.  After providing some tips and suggestions for doing this, I received a request about a month later from the director to see if I can ‘help.’

Co-op 2 Highlights 6

This past week was busy for Co-op related things.  I attended the Database Architect meeting on Thursday and was asked to outline my Capstone project to the team.  This allowed me to put into words some of my goals and hopes for the project.  The short description for the project:  I would like to create a web application that would allow for the input and reporting of weekend attendance numbers.

The details:  I currently work at a church, which has a weekend church attendance of about 5,000 people.  The current way for recording the attendance numbers for each service time (9am, 10:30am, and 11:59am on Sundays at Site A, plus additional times for each additional site) and each area (Hispanic, Students, Children, Site B, Site C, etc) is to email numbers to the person in Finance.  This person then updates a massive Excel spreadsheet each week, usually on Tuesday, and then emails the spreadsheet out to various staff for review.

Currently, if you’d like to know how attendance went this past weekend, you would need to wait until Tuesday afternoon and open the Excel spreadsheet, provided that the person in Finance isn’t on vacation, or the Student folks didn’t forget to email their numbers, etc.  There is no visualization of any kind, just a flat grid of numbers and percentages showing Current Week, 4-Week, 13-Week, and 52-Week categories.

My goal would be to create a CRUD web application in C# using the MVC pattern to allow the Hospitality staff person to input directly into the web application (using a SQL database), creating a record for that particular weekend.  In addition to a data entry portal for capturing the attendance data closer to real-time (on Sunday, as opposed to updating the spreadsheet on Tuesday), I would like to add a reporting page containing several charts that would provide a better graphical presentation of the data.  Our current database is on a MySQL platform using Apache web server and holds all of our data for events, volunteering, guest records, and financial contributions.  We currently do not have a good reporting feature for weekend attendance, other than this Excel spreadsheet.

The end goal, which could be a year or more down the line, would be to eventually export the SQL database into the Vine (the MySQL database) and use PHP code to run this web application through our proprietary graphical web interface for the Vine.  For now, it would be hosted on an IIS server and given a URL that anyone could access (with respect to the log-in and rights granted).

I received positive feedback from this team and they affirmed that the current system is limiting.

I have done some work in the last 2 weeks thinking through the tables for this SQL database and listing out what columns I will need and what tables will relate to each other.  I have also created the rough website using the MVC platform in .NET (C#).  I went ahead with the MVC platform because it will be a good learning experience.  I have identified my color scheme and modified the CSS to fit this.  I want it to blend in with the current color scheme that we use for our organization’s website and have included our organization’s logo as well.  I am also in communication with Mark, our database contractor, about the way the tables should be set up.  This is important if we really want to look at incorporating this project into the big database down the road.  I believe I am almost ready to run my queries to create all my tables and then import the data that I have.  Once that is done, I will be adding the CRUD operations to the website.

I also have embarked on a small freelance (volunteer) project for a relative.  She is looking to start a recipe and cooking blog, so I have created a WordPress site for her and added features and tweaks to make it her own.  She is an extreme novice when it comes to anything internet or computers, so I am working on my ‘explaining’ skills and will be walking her through simple processes like how to make her first blog post and how to upload a picture.

My big freelance project is slowly getting off the ground.  Their client would like me to use Visual Studio 2012 with the Sitefinity Thunder plug-in to be able to make changes to their website.  I currently have 2010 on my laptop and don’t want to mess with something that is working well.  So, our Associate Director of IT is going to build a virtual machine for me with just Visual Studio 2012 on it, so that I can begin work on this project.  I really appreciate his work here because I know that there is a major project with a domain migration happening this coming week.

Co-op 2 Highlights 5

This past week was a flurry of activity.  With the bitter cold weather and snow/ice, our sister organization closed for services last Wednesday.  I received the text message at 10pm on Tuesday and activated the ‘Closed for Services’ banner on their website.  I also composed and posted a Facebook post with this information.  I have become very aware of the importance of timely web updates, especially in the case of weather this winter season.  It is so important for website managers or web developers to think about projects with the end user and their customer in mind.  And, timeliness is incredibly important.  If I had waited until 8am the next morning to post that ‘Closed for Services’ banner and the Facebook post, it would have been too late and volunteers would have already been onsite preparing for the day.

Last week also included adding content for the new WordPress website that we created a week or so earlier.  There is a conference being hosted here in May and this website will be specifically used to provide information and provide a registration link for guests.  The actual registration is being handled through a third-party vendor, Acteva, which we have used in years past for registration.  I have added content to this site and modified the CSS to suit our needs and desires for the look of the site.  We chose a template from WordPress, but then are able to go in to the CSS file and make changes as needed.  For instance, currently the active links are a bright blue color and some links are located on a section with that same bright blue background.  So, they are not visible unless you happen to hover over the link (it then changes to another color).  Changing this active link color is a small thing, but will play a part in how the end user views the site and accesses different pages.

Additionally, I worked on defining the tables for the SQL database for the Attendance capstone project.  This included a meeting with our Associate Director of IT to talk through a couple of different scenarios for how the data gets entered, who would enter the data, and how we would like to report on that data.  Currently, one of my main questions or decision points seems to be setting this website (the Attendance Portal – capstone project) up as an MVC website (using Model-View-Controller logic) or setting it up as a Web Forms website.  I have more experience with the Web Forms style and feel that I could use that to meet the needs for this project.  The capstone instructor leans toward the MVC-type websites, so I am feeling like that is the way I should go (in order to please him), although I have very little experience with creating MVC websites.  This was introduced in one chapter of my second C# class last semester.  Because this project may ultimately be imported or incorporated over to the Vine (our MySQL database), I was curious about which way (MVC or Web Forms) would be better for this future adaptation.  Over the weekend, I emailed our contractor, Mark, who has done a large amount of building and developing the Vine over the last 15 years or so, to get his thoughts on which path to take here.  Once I hear from him, I think I will be able to make a decision and begin development.

Co-op 2 Highlights 3

This past week I was able to help with downloading WordPress and setting up the basics of a website that will provide information for an upcoming conference hosted at my work.  It was great to be able to walk through each step:  downloading the WordPress file, setting up the site to run at our server, creating a database, creating log-in information for several people, and choosing an initial template.  I have previously used WordPress utilizing their hosting, mainly for this blog, so it was great to see how it could be used if you wanted to host it on your own server.

Additionally this week, I talked with our Associate Director of IT about a possible Capstone project to get his input and ideas on how the idea could be developed.  I wrote my proposal and submitted it to the Capstone instructor.  And, on Friday, I received the great news that he approved the project and thinks it would be great to include on my resume and even demonstrate it at an interview.  Wow!  Now, I just have to actually develop the project.  🙂

The overall project consists of creating a web application that would allow for the input and reporting of weekend attendance numbers.

I currently work at Vineyard Community Church in the Tri-County area, which has a weekend church attendance of about 5,000 people.  The current way for recording the attendance numbers for each service time (9am, 10:30am, and 11:59am on Sundays at Tri-County, plus additional times for each site) and each area (La Vina, Students, Children, Middletown, Eastgate, Uptown, Micro-churches) is to email numbers to the person in Finance.  This person then updates a giant Excel spreadsheet each week, usually on Tuesday, and then emails the spreadsheet out to various staff for review.  There is no visualization of any kind, just a flat grid of numbers and percentages showing Current Week, 4-Week, 13-Week, and 52-Week categories.

My goal would be to create a CRUD web application in C# using the MVC pattern to allow the Hospitality staff person to input directly into the web application (using an Access database that would be saved in SQL), creating a record for that particular weekend.  In addition to a data entry portal for capturing the attendance data closer to real-time (on Sunday, as opposed to updating the spreadsheet on Tuesday), I would like to add a reporting page containing several charts that would provide a better graphical presentation of the data.

The end goal, which could be a year or more down the line, would be to eventually export the SQL database into the Vine (the MySQL database) and use PHP code to run this web application through our proprietary graphical web interface for the Vine.  For now, it would be hosted on an IIS server and given a URL that anyone could access (with respect to the log-in and rights granted).

There is much, much more work to do here, from thinking through the different aspects of the application, thinking through the logic, visualizing the look, and figuring out who exactly will use it, to actually writing code and testing.  Whew, it’s a little overwhelming to think about, but I am sure that it will all come together if I just focus on one step at a time.