Skip to content

SheCodesAus/tech_turtles_frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

95 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PresentPal

Plan. Shop. Joy. πŸŽ„βœ¨

Tech Turtles

Project Overview 🎁

PresentPal is a web application designed to streamline gift planning and purchasing, starting with a focus on Christmas shopping and with the potential to expand into birthday and other event planning. The platform aims to eliminate the stress of last-minute shopping and provide a more organised and thoughtful approach to gift-giving.

Mission Statement πŸ”Š

PresentPal’s mission is to simplify holiday/event gift shopping by providing a seamless platform where users can create, organise and share personalised gift lists. Whether for personal use or to help find the perfect gift for loved ones, PresentPal enables easy tracking of items and their sources, making gift-giving more thoughtful, efficient and enjoyable.

Features πŸ“‹

All Features

  • Creation of user account
  • Log in/Log out
  • Ability to create/edit/delete list
  • Add item details and assign to a recipient on the list
  • Ability to update the status of individual items
  • Accessibility for colour blind users
  • Management of budget (total spent)
  • Custom 404 page
  • Responsive design

Must haves

  • Homepage

    • Anyone can view the website
    • Users can create an account. Create account page will have email, first name, last name and password fields
    • Users can create a list if they are logged in
  • User Profile Management and Permissions

    • Users can log in or log out of their account
    • Login page will have full name and password fields
    • Each user category will have their set permissions they can view
  • List Page

    • Admin can create or delete any of the lists
    • Users can create a list, but can only edit/delete a list they have created
    • Has space to record and update gift details (product name, price, store/link or location)
    • Status of item (complete/incomplete)

Nice to haves - First Priority

  1. Priority of item, e.g. when child adds multiple items
  2. Status of item (not ordered, ordered but hasn't arrived)
  3. Due date when gift is required by
  4. Item count - total items

Nice to haves - Other

  • Secure sharing of list, e.g. User wants to send list to children to add ideas
  • Grouping of items
  • Ability to print list
  • QR code generation
  • Budget by category
  • Birthday list integration
  • Gift suggestions
  • Sale notifications
  • About page
  • Forgot password on login page

Summary

Provide users the ability to create lists of gifts they need to purchase. Once items are listed, users can edit/delete individual items and update each item's status. Only Superuser can view all lists and individual users can view the lists created by them.

Users

Type Access Role type assignment
Superuser or admin - All access
- Can log in and log out
- Create and manage lists
- Create and manage other users
- Create and manage other users
- Can see and edit their details via profile page
- Update status of items on list
- Delete a list
Private: Shelley Behen
User - Can log in and can log out
- Create and edit items on their list
- Delete item from their list
Public: Users who want to create a gift shopping list

Christmas List

Feature Access Notes/Conditions
Create Can be created by anyone with a registered account User must be logged in
View Admin and creator of the list can view list
Edit Admin and creator of the list can edit list User must be logged in
Delete Can be deleted by Admin and creator of list

Pages/Endpoint Functionality

Endpoint Functionality Comments
Create and post list - Available to user who created list - Easy to read and accessible
- Good contrast
Admin page - All admin functions
- Can also create another admin account
- Requires auth
- Initial admin created by DB
User page - Users can view all lists created
- Users can create new list
Home page - Button to create list or log in button if not logged in
- Description about app

Technical Implementation πŸ§‘β€πŸ’»

Back-End πŸ‘ˆ

  • Django/DRF API
  • Python

Front-End πŸ‘‰

  • React/JavaScript
  • HTML/CSS

Source Code Management πŸ‘·

  • Git

Deployment ▢️

The application's front-end will be deployed to Netlify. The back-end and DB will be deployed to Heroku.

We will also use Insomnia to ensure API endpoints are working smoothly (we will utilise a local and deployed environment in Insomnia).

Link to Heroku deployed backend

Link to Netlify deployed frontend

Target Audience πŸ‘₯

  • Gift Giver (Primary User)
  • Gift Recipient (Secondary User)

PresentPal caters to two key groups in the gift-giving process. The primary users are busy gift-givers, often balancing work and family, who want to organise their holiday shopping efficiently. They use the platform to create gift lists, track recipients, and monitor their shopping progress, reducing stress and last-minute hassles.

The secondary users are gift recipients, who can join in by creating their own wishlists when invited by a gift-giver. This collaborative approach ensures gifts are thoughtful and easier to choose, while still keeping the surprise alive during the holiday season.

User Stories πŸ“–

Gift Giver User Stories πŸ‘ΌπŸ»

List Management

  1. As a gift giver, I want to create a new gift list so that I can organise my Christmas shopping.
  2. As a gift giver, I want to add recipients to my list so that I can plan gifts for everyone.
  3. As a gift giver, I want to add gift details (name, price, store link/location, notes) so that I can track what to buy.
  4. As a gift giver, I want to mark items as purchased so that I can track my shopping progress.
  5. As a gift giver, I want to see the total cost of all gifts so that I can manage my budget.
  6. As a gift giver, I want to keep the list private from each recipient so that gifts remain a surprise.

Sharing and Collaboration (stretch goal)

  1. As a gift giver, I want to invite recipients to edit their gift lists so that I know what they want.
  2. As a gift giver, I want to share my list with family members so that we can coordinate gift buying.
  3. As a gift giver, I want to keep gift details private from recipients so that surprises aren't spoiled.

Mobile Experience

  1. As a gift giver, I want to access my lists on a mobile device so that I don’t always have to turn on my laptop.
  2. As a gift giver, I want the website to load quickly so that I can check lists efficiently.

Gift Recipient User Stories πŸ₯³

  1. As a gift recipient, I want to add items to my gift list so that I receive gifts I'll enjoy.
  2. As a gift recipient, I want to edit my gift list so that I can keep it up to date.

Front-end Implementation

Front-end Navigation Structure πŸ“

Route Component Purpose Access Control
/ HomePage Displays homepage Public
/signup SignUpPage User registration page Public
/login LoginPage User login page Public
/create-list CreateListPage Allows users to create a new list Protected (logged in users only)
/lists ListsListingPage Shows all lists a user has access to Protected (logged in users only)
/lists/:listId ListDetailPage Displays details of a specific list Protected (logged in users only)
* NotFoundPage Handles unknown routes Public

Wireframes πŸ–ΌοΈ

Low Fi Wireframes Hi Fi Wireframes Web Hi Fi Wireframes Mobile

View Wireframes - Low Fi View Wireframes - Hi Fi

Logo πŸ’œ

Primary Logo Secondary Logo

Colours 🎨

Colour Palette

Font ✍️

Fonts

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published