Background

Texas Husky Rescue, TXHR, currently uses third party services to track and store information regarding our dogs, volunteers/fosters, donors, business partners, adopters, supplies, placements, and more. Each of these areas has further detail below it and most of the entities are tied together. Our primary data store is with www.trackabeast.com, TAB, (they have an online demo, check it out) which we pay an annual fee for. TAB is a good service but we would like to make our own application that does even more and we have the ability to enhance to our specific needs. To supplement TAB we have several Google spreadsheets which we track data on and then have to later update TAB with.

Here is a list of the separate systems we manage:

  • TrackABeast – stores all information on dogs, people, business, and supplies we use/interact with which includes documents (contracts, vet paper work, dog pictures). This also tracks the location/placement/movement of dogs and supplies.
  • Google Spreadsheets
    • Medical – this sheet tracks active dogs and their medical needs
      • Shows each dogs current vaccinations, when to be taken to the vet next, appointment times, etc
      • Used by 6+ people daily
    • Intake – this sheet tracks active dogs which are in shelters, homes (being surrendered), and other locations which we are considering for our program
      • We keep a history of dogs pulled and not pulled in case they end up in the system again
    • Transporters – this tracks who can transport dogs for us over long distances around the country but mostly in Texas, Oklahoma, Louisiana, New Mexico, Colorado, and Arizona
    • Adoption/Foster/Volunteer – these are all tracked in a spreadsheet together; tracking their status with our processes for approving them
  • PetFinder.com and AdoptAPet.com – these sites list our dogs for people to find them on
    • We upload pictures and biographies of the dogs.
    • We use an iframe of the listing on petfinder (see here http://texashuskyrescue.org/Adoption/Huskies)
    • These sites are manually updated through separate processes by the same volunteers
  • Google Calendar
    • We list our events on here and then using Google’s API we show them on our website

 

What We Want

We want the functionality of Google spreadsheets: real-time, multi-user support with the structure of TAB to tie everything together. Here is a list of things to be tied together when this project nears completion (in no particular order):

  • General needs
    • Custom error pages
      • 404, 500, etc
      • Currently have logging in place via nLog and nLog.MVC
    • Added error/exception handling
      • Several places in the code do not handle exceptions well if at all and could use this added in based on the captured errors in our database
    • WCF/MSMQ processing (work item)
      • Nice to have for some items which take a while to process and do not require the response to go back to the user
        • Example, adoption application saves to database, generates a PDF, and emails the PDF to the app and the group
  • Public pages:
    • Create Foster Application (requirements - work item)
      • Currently there is an Adoption Application which we would like to use as the basis for a Foster Application.
      • Possible use the same database tables for the foster application (change names of tables/classes?)
        • Add flag to show if app is Adoption or Foster
    • Enhance Contact page to allow attachments
      • There is a common email method in place that already handles attachments
      • There is an upload jquery script in the project which can be used to handle uploading files with latest tech for drag/drop and fallback for browsers which do not support this
    • Enhance Contact page to include reCaptcha
      • Already have a key for this, just need to implement
    • Formatted emails via HTML and more options for sending emails
      • Emails are currently formatted as plain text and need to have options to send HTML
        • Maybe use MvcMailer?
      • Need more options for sending emails from application
        • Reminder emails
        • Group emails with address input from various sources (file, database, pasted in form, etc)
        • Designed in editor on screen and sent?
    • Dog listings and profiles (work item)
      • Instead of using Petfinder’s iframe
      • Could be done today using webservice from petfinder (already implemented for foster needed on home page) but would need to retool once we are using this application for managing the dogs because the information would be in our database vs petfinder and TAB
  • Admin pages (TAB/Spreadsheet replacement):
    • Need admin layout that utilizes the full screen (requirementswork item)
    • Notification system using SignalR
      • Like the bubbles in design #3 above
      • Would inform of anything going on in the system
      • User configuration to only show certain notifications
      • Color coded
    • Dashboard page – what you see on first sign in to admin section 
      • To Do list
        • Personal items that only that user sees
        • Global items that are on everyone’s list
      • Calendar
        • Show to do items
        • Sync to google calendar
      • Notes to self section
    • Graphs / Stats
    • User Profile
      • Image – avatar
      • personal information: name, email
      • password reset
    • User Management
      • Currently using SecurtyGaurd, but would like more functionality
      • Need role management
      • Password reset / unlock account
      • Add new users
      • See who is online
      • Implement Claims authorization
    • Ability to export any data from any screen
      • CSV, PDF
    • Trackabeast replacement pages
      • Dog profile
        • Nice to have: post new dogs to Facebook page as they come into our system. not sure if this is possible
      • Person profile
      • Business/Organization profile
      • Placements
    • Supply management
      • Track dog drugs, crates, leashes, and collars
    • Event management
      • Implemented
        • Create new event tied to business/organization
        • View registrations
      • To Do
        • Put new events into Google calendar
        • Sponsor creation
        • Auction items / Donated items
          • Items are given to us for golf tournaments to be used as auction or raffle
        • Send email to all people for an event
        • Registrations
    • Blog
      • Create blog or fork existing one that uses MVC or has a back end we can call from a MVC front end
    • Gallery
      • Create one or install one (GalleryServerPro is candidate)
      • Over 30GBs of data

Last edited Jul 24, 2013 at 9:30 PM by jamesbolton, version 3

Comments

kfp Jul 28, 2013 at 9:22 PM 
While searching codeplex for projects that I would like to join I saw this one and I wish I could help. My main experience is with winforms, but I plan on getting into ASP.NET soon. I would love to start a project like this for the local pit bull rescue I adopted my dog from here in North Carolina. I'm following this project because it interests me and to try to get an understanding of how codeplex works. Best of luck to you!