1. What is the goal of your application? I have a dog named Skye and I train her frequently in many different dog sports and other tasks. My application will be similar to a blog where I and other dog trainers will post articles on certain training techniques I use. The goal of the application is to provide these training tips and techniques to dog owners without a lot of experience training dogs. It also acts as information exchange for different dog trainers to see each other's training techniques.
2. Who is the primary audience? The audience of this application is dog owners who want to learn more techniques for training their dogs. Whether their dogs have poor behavior they are trying to train out or they want to learn a new technique, my website will help them. Dog trainers are another target group for my site because they will be able to post blog posts as well as read other trainer's posts so their training program will be more well-rounded.
3. What will the CRUD (Create, Read, Update, Delete) operations be? I will have an interface where everyone can create new blog posts with training tips. They will also be able to update existing blog posts (like the content of them, the title, and the tags). Lastly, they can delete the blog post in case it isn't relevant anymore. For the read operation, there will be a page where people can view all blog posts or search them based off the title or tags. Tags are a feature that belong to each post to help users search the posts and may include things like "New Dog", "Advanced" (for advanced training techniques), "Bad Behaviors", etc.
4. What additional feature would you like to build? See the Additional Features section on the project requirements. The additional feature I will implement is the bookmarking system. It will be really helpful for owners to save posts they find interesting. This way, they can browse my site for new training techniques, bookmark the ones they like, and then check their bookmarks to quickly find them later.