A progressive web app to help volunteers track their volunteering activities, register vet concerns and log incident reports.

Overview

POOPS - Pets of Older Persons 2022

Introduction

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, install yarn:

npm install --global yarn

Then, run the development server:

yarn dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying pages/index.tsx. The page auto-updates as you edit the file.

API routes can be accessed on http://localhost:3000/api/hello. This endpoint can be edited in pages/api/hello.ts.

The pages/api directory is mapped to /api/*. Files in this directory are treated as API routes instead of React pages.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

Comments
  • I127 create a button to redirect to visit add page in the home page

    I127 create a button to redirect to visit add page in the home page

    Change Summary

    • Added button to redirect to add visit page
    • Removed unused components

    Change Form

    • [x] The pull request title has an issue number
    • [x] The change works by "Smoke testing" or quick testing
    • [ ] The change has tests
    • [ ] The change has documentation

    Other Information

    Requires #103 to be merged first as it uses visit/set page

    Related Issue

    • Resolve #127
    opened by justinliangg 7
  • I23 create a nav bar component for mobile

    I23 create a nav bar component for mobile

    Change Summary

    Created bottom navigation bar and with poops-red color.

    Change Form

    • [x] The pull request title has an issue number
    • [x] The change works by "Smoke testing" or quick testing
    • [ ] The change has tests - I am unsure how tests should be written for a simple component like this
    • [ ] The change has documentation - Same as tests

    Other Information

    This change adds the following dependencies:

    "@mdi/font": "^6.7.96",
    "@mdi/js": "^6.7.96",
    "@mdi/react": "^1.6.0"
    

    These are used for the navigation icons. Were intended to be placeholders though they work quite well.

    This uses the same shade of red from the POOPs website. This is added as poops-red to Tailwind and var(--poops-red) in global.css, and has the hex code #ce283d.

    Related Issue

    • Resolve #23
    frontend 
    opened by pavo-etc 6
  • i137 border added to secondary button

    i137 border added to secondary button

    Change Summary

    #137 Components->UI: Secondary variant Button Added Tailwind border class to Secondary variant of button

    Change Form

    • [x] The pull request title has an issue number
    • [x] The change works by "Smoke testing" or quick testing
    • [ ] The change has tests
    • [ ] The change has documentation

    Related Issue

    • Resolve #137
    opened by Techno-UWA 5
  • I86 search by pet names in contacts page

    I86 search by pet names in contacts page

    Change Summary

    • Searches by people and pets
    • Updated the pet section so that it's a single text field
    • Mock data needed to be updated

    Related Issue

    • Resolve #86
    opened by swolrus 5
  • Display user name in the Welcome message

    Display user name in the Welcome message

    Is your feature request related to a problem? Please describe. The welcome message in the home page does not display the name of the user.

    Describe the solution you'd like Display the user name if the user is authenticated

    enhancement frontend difficulty::easy point::1 
    opened by NicholasChoong 4
  • I103 redesign edit to be a modal in visit

    I103 redesign edit to be a modal in visit

    Change Summary

    • The visit edit now sends you to the same visit form which is now on the /visit/set page.
    • Client's names and pets are drawn from the contact list and saved in the visit.
    • displayName is now clientName
    • End time is now a duration selector in increments of 15 minutes
    • Add alerts for form submission
    • Add back mysterious missing margin on visit instances
    • Moved /components/Visit/utils.ts to /utils/index.ts

    :+1:

    Related Issue

    • Resolves #103 and #111
    opened by Dustybluelight 4
  • I26 create a home page

    I26 create a home page

    Change Summary

    added the home page, with summary dashboard and a new visit form.

    Change Form

    Fill this up (NA if not available). If a certain criteria is not met, can you please give a reason.

    • [ issue 26 and 33 (the backend for homepage just needs to be done in a different issue)] The pull request title has an issue number
    • [ yup] The change works by "Smoke testing" or quick testing
    • [nope] The change has tests
    • [nope, but comments in code for modal.tsx] The change has documentation

    Other Information

    [Is there anything in particular in the review that I should be aware of?] Just that the backend is yet to be completed, and will be done in a separate issue.

    Related Issue

    • Resolve #26
    opened by JadeynFeng 4
  • I27 create a contact page

    I27 create a contact page

    Change Summary

    [Briefly summarise the changes that you made. Just high-level stuff]

    Change Form

    Fill this up (NA if not available). If a certain criteria is not met, can you please give a reason.

    • [x] The pull request title has an issue number
    • [ ] The change works by "Smoke testing" or quick testing
    • [ ] The change has tests
    • [ ] The change has documentation

    Other Information

    [Is there anything in particular in the review that I should be aware of?]

    contactinfo.tsx

    • The phone icon will call the attached number
    • The mail icon opens up email
    • The marker icon opens up google maps with address
    • Added an edit icon (not on figma design) which switches elements between input fields and text fields.
    • Added save and cancel edit buttons, save will submit the new data, cancel will keep the original data

    contact/[id].tsx

    • Currently uses getStaticProps/Path this will need to be changed when data is retrieved from the API

    ContactItem & ContactInfo

    • retrieves the contact image as one of the props, if we finish the MVP and continue working on it the image should be a part of the Contact type. Our code is already made to handle an image.

    ContactForm

    • When the fields update it is captured by the state contactForm. ContactForm holds the data that will be sent to firebase.

    Related Issue

    • Resolve #27
    frontend 
    opened by Will-H007 4
  • Create a user profile page

    Create a user profile page

    Basic Information

    This should display:

    • [x] User name
    • [x] User profile pic
    • [x] User email
    • [x] Selected regions
    • [ ] A link that directs the user to the POOPS homepage
    • [ ] a sign out button

    Due to changes in the design, we will opt to have the user's profile be displayed within the contacts page. This page should remain unaffected but the link to it will no longer be in the navbar, possibly the header on the top right.

    Other Information

    Potential scopes:

    enhancement frontend design difficulty::medium point::4 
    opened by NicholasChoong 4
  • Convert images into webp format

    Convert images into webp format

    Basic Information

    Convert all images into webp format for file size optimisation.

    • [ ] Convert all images into webp format

    Other Information

    Potential scopes:

    • Ignore favicons
    enhancement difficulty::easy priority::low point::3 come back to 
    opened by skyheat 4
  • #155 refactor firestore documents to use sub collections

    #155 refactor firestore documents to use sub collections

    Change Summary

    This PR represents major breaking changes, and the addition of two new JS libraries. The changes are:

    • Remove the Firestore / Contact contexts
    • Use React Query for all datafetching from Firestore
    • Expose data fetching via hooks (see the src/hooks directory)
    • Share state accross multiple components with Jotai
    • Change the user 'schema' in Firestore, so that visits and contacts are sub-collections, and each visit / contact is a separate document within their respective collection

    Change Form

    • [x] The pull request title has an issue number
    • [x] The change works by "Smoke testing" or quick testing
    • [ ] The change has tests
    • [x] The change has documentation
    opened by scratchclaggy 3
  • I142 integrate firebase into the home page

    I142 integrate firebase into the home page

    Change Summary

    • Added a trigger to automatically update the user statistics on any changes made to the visit subcollection.
    • Added protection and display of user statistics on the homepage

    Change Form

    • [x] The pull request title has an issue number
    • [x] The change works by "Smoke testing" or quick testing
    • [ ] The change has tests
    • [ ] The change has documentation

    Other Information

    The trigger only works with the emulator enabled and does not currently work on the live server. Paid plan will be needed to be able to deploy the functions.

    Related Issue

    • Resolve #142
    opened by justinliangg 1
  • I148 create admin role using firebase functions and restriction rules to firestore security rules

    I148 create admin role using firebase functions and restriction rules to firestore security rules

    Change Summary

    • Temporarily replaced firebase functions with Nextjs API
    • Added admin page to set user roles
    • Added admin state to auth context
    • Added mod me button to the home page
    • Display an admin nav button in the top nav bar if the user is an admin

    Related Issue

    • Resolve #148
    opened by NicholasChoong 1
  • Validate data retrieved from Firestore

    Validate data retrieved from Firestore

    Is your feature request related to a problem? Please describe. The current code only cast type to the retrieved data.

    Describe the solution you'd like Use Zod to validate the data.

    We are in the process of changing our database schema so this issue is blocked by #155 .

    enhancement frontend difficulty::hard point::5 
    opened by NicholasChoong 3
  • I136 fix margin between save button and navbar in contactdetails page

    I136 fix margin between save button and navbar in contactdetails page

    Change Summary

    [fix margin between save button and navbar in contactdetails page]

    Change Form

    Fill this up (NA if not available). If a certain criteria is not met, can you please give a reason.

    • [x] The pull request title has an issue number
    • [ ] The change works by "Smoke testing" or quick testing
    • [ ] The change has tests
    • [ ] The change has documentation

    Other Information

    [Is there anything in particular in the review that I should be aware of?]

    Related Issue

    • Resolve #136
    opened by ok7097269 1
  • I32 incident and vet buttons and forms

    I32 incident and vet buttons and forms

    Change Summary

    Adds buttons and forms for submitting incident reports and vet concerns on the visits page. Adds a context for the visit page which we can continue to use. It autofills some user information based on the currentUser from the auth context.

    Change Form

    • [x] The pull request title has an issue number
    • [x] The change works by "Smoke testing" or quick testing
    • [ ] The change has tests
    • [ ] The change has documentation
    opened by pavo-etc 1
  • Refactor Navbar UI

    Refactor Navbar UI

    Is your feature request related to a problem? Please describe. The current navbar could better conform to industry standards.

    Describe the solution you'd like An instagram style navbar. All icons should be outline but filled when on the page.

    239D1CDF-6761-484D-AC73-0E8252830DDC

    image Note: This is just a scrappy design I threw together for the sake of visualisation and can be changed. Just get approval from me.

    The svg file for the poops dog icon can be found in ../public/images/poops.svg

    enhancement frontend difficulty::easy 
    opened by skyheat 1
Owner
Coders for Causes
./Innovation with a mission
Coders for Causes
This is an app that helps people keep track of all their activities for a period of time.

To-Do List This is an app that helps people keep track of all their activities for a period of time. They can be able to see what activities they have

Abubakar Ummar 6 Oct 17, 2022
A simple app that helps a user monitor daily activities by adding, storing and deleting activities.Built with HTML,CSS and JavaScript

To-do-list A simple list app that allows a user to add and remove tasks. Built With HTML CSS JS Webpack Live Demo Click To-do-list to see the page. Ge

Catherine K 7 Apr 8, 2022
A To-Do-List app designed to help users organise their daily activities

A To-Do-List app designed to help users organise their daily activities. it simply creates a list of things you want to do and allows you to mark them as complete. It was built with HTML, CSS and JavaScript.

Eshetu Melaku 10 Jun 9, 2022
Register your username, log into the app and create your list of a to-do with local storage.

Todofy Todofy is a web app to create your to-do list with local storage. Explore the docs » View Demo · Report Bug · Request Feature Table of Contents

Anderson Marcelo Bastos Lima 5 Jun 30, 2022
Uptime monitoring RESTful API server that allows authenticated users to monitor URLs, and get detailed uptime reports about their availability, average response time, and total uptime/downtime.

Uptime Monitoring API Uptime monitoring RESTful API server that allows authenticated users to monitor URLs, and get detailed uptime reports about thei

Mohamed Magdi 2 Jun 14, 2022
A CSS stylesheet to quickly highlight a11y concerns.

Checka11y.css A CSS stylesheet to quickly highlight a11y concerns. Lightweight • Modern • Accessibile • Customisable • Simple The first line of defenc

Jack Domleo 428 Dec 25, 2022
To Do list app. Very useful to keep track of daily activities. Made with ❤️, JavaScript and bundle with Webpack

To Do List ⚙️ This is a To Do list App to practice Javascript and Webpack deployment. Live Demo ⚙️ GitHub Pages: DEMO Tech ⌘⇧ HTML & CSS best practice

Raul Ospina 11 Oct 17, 2022
Build homes, communities and hope through a virtual house-building game that mirrors the experience of physical volunteering programmes.

Habitat Heroes Note: The current house building time and quiz reset time have been shortened for the purpose of allowing users to try out more feature

Habitat Heroes 4 Mar 15, 2022
Grayce Muthui 8 Jun 16, 2022
A simple project to keep track of your activities. It allows basic CRUD operations to organize your to do list.

todo-list A simple project to keep track of todo list. Built With HTML CSS Javascript Webpack Live Demo You can checkout the live version here Getting

Abdelmejid Oumer Ali 9 Jul 20, 2022
Powerful interactive, editable to Do list. keep track of your activities

Project Name To do List Built With HTML CSS webpack Live Demo Live Demo Link Getting Started To get a local copy up and running follow these simple ex

Federico Luna 8 Sep 2, 2022
We are creating a Library that would ensure developers do not reinvent the wheel anymore as far as Authentication is concerned. Developers can easily register and download authentication codes that suits their need at any point.

#AuthWiki Resource Product Documentation Figma Database Schema First Presentation Live Link API Documentation Individual Contributions User Activity U

Zuri Training 17 Dec 2, 2022
Save time by managing bills & expenses, invoicing & easy reconciliation all in one app. Generate clear dynamic statements and get your reports, the way you like them

expense-manager-app (Opensource Expense Tracking App built with React) ?? Save time by managing bills & expenses, invoicing & easy reconciliation all

Muhammad Awais 3 Oct 12, 2022
See a banned user's profile, their friends, their favorite games, their followers etc.

Roblox-Banned-User-Viewer AKA BanView See a banned user's profile, their friends, their favorite games, their followers etc. Ever wondered how to view

SCR1PP3D 4 Nov 18, 2022
The website which can help you to organize your daily or weekly activities and review them when you need them. you can add, remove and delete an activity

To Do list To do project is webpack project that list activities someone can do at a specific time In this TO-DO list, you can add or remove you activ

Joffrey NKESHIMANA 5 Jul 21, 2022
Progressive Web App (PWA) built in Node.js & Express that automatically reloads/refreshes your browser, web page, and app when developing.

Expresso ☕️ Checks for changes in your source and automatically reloads your browser, or web page, and app window. Makes development easier. Report Bu

Start Rev Technology 3 Oct 6, 2022