Skip to content

A SaaS web application for doggy daycare/boarding facilities that provides daily updates to owners via “report cards”.

Notifications You must be signed in to change notification settings

shaneyoung91/pawfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PawFolio 🐾

🫧 Desription:

Your Dog's Daily Delight! Stay connected with your furry friend through our cutting-edge doggy daycare/boarding app. Get daily reports with adorable photos and updates about your dog's activities, playtime, meals, and more. Never miss a moment of their wagging tail and joyful antics. With PawFolio, your dog's happiness is just a notification away!

✨ Features:

  • Secure Login/Signup.
  • User friendly interface.
  • Full functionality across the app!

🫧 Preview:

Landing Page: Screenshot of Landing Page Add and remove treats: Screenshot of Treats Page Add your dog: Screenshot of Add Dog Page View all your dogs: Screenshot of Dog Index View your dog's detail page: Screenshot of Add Dog Page 1 Screenshot of Add Dog Page 2 View your dog's report card: Screenshot of Dog Repord Card

📌 Technologies Used:

Python Django Postgres AWS GitHub Heroku HTML5 CSS3

🔍 Code Preview:

Model:

class Dog(models.Model):
    name = models.CharField(max_length=50)
    age = models.IntegerField()
    breed = models.CharField(max_length=50)
    weight = models.IntegerField()
    diet = models.TextField(max_length=250)
    vaccinated = models.BooleanField(default=True)
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    treats = models.ManyToManyField(Treat)

View:

@login_required
def dogs_index(request):
    dogs = Dog.objects.filter(user=request.user)
    return render(request, 'dogs/index.html', {
        'dogs' : dogs
    })

@login_required
def dogs_detail(request, dog_id):
    dog = Dog.objects.get(id=dog_id)
    id_list = dog.treats.all().values_list('id')
    treats_dog_doesnt_have = Treat.objects.exclude(id__in=id_list)
    reportcard_form = ReportCardForm()
    return render(request, 'dogs/detail.html', {
        'dog': dog, 'reportcard_form': reportcard_form,
        'treats': treats_dog_doesnt_have
        })

class DogCreate(LoginRequiredMixin, CreateView):
    model = Dog
    fields = ['name', 'breed', 'age', 'weight', 'diet', 'vaccinated']
    
    def form_valid(self, form):
        form.instance.user = self.request.user
        return super().form_valid(form)

class DogUpdate(LoginRequiredMixin, UpdateView):
    model = Dog
    fields = ['breed', 'age', 'weight', 'diet', 'vaccinated']

class DogDelete(LoginRequiredMixin, DeleteView):
    model = Dog
    success_url = '/dogs'

💫 Getting Started:

Click the link 👉🏼 https://pawfolio-lovelace-7c9477f097c5.herokuapp.com/

🔗 Links:

🧊 Next Steps and Icebox Items:

  • For both the user and admin to be able to see and schedule boarding dates.
  • For the user to receive a notification when a new report card is added.
  • For the user to receive an image of their dog(s) included in the daily report card.

About

A SaaS web application for doggy daycare/boarding facilities that provides daily updates to owners via “report cards”.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published