Regieslu / socialNetwork

Home Page:https://petslife-tau.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Welcome to PetsLife

Captura-de-pantalla-2023-10-12-180943

This project centers around a social network called "PetsLife," designed to enable dog lovers to share their most special moments with their faithful friends. Additionally, it provides a platform to access valuable information shared by other users about adoptions, locations for sterilizations, and vaccinations.

The key features of PetsLife are as follows:

๐Ÿถ1. Registration and Login: Users can sign up and access the platform using their email address and a secure password.

๐Ÿถ2. Google Login: For added convenience, we also offer the option to log in via Google.

๐Ÿถ3. Pet Registration: When registering with an email and password, users can add information about their pets, creating personalized profiles for their furry companions.

๐Ÿถ4. Content Posting: Users have the ability to create, edit, and delete posts to share their experiences and anecdotes with their pets. This feature promotes interaction and a community around the shared passion for dogs.

๐Ÿถ5. Logout: Users can securely log out whenever they wish.

๐Ÿถ๐Ÿฆฎ๐Ÿฉ๐Ÿ•โ€๐Ÿฆบ๐Ÿ• PetsLife ๐Ÿถ๐Ÿฆฎ๐Ÿฉ๐Ÿ•โ€๐Ÿฆบ๐Ÿ• Strives to be a welcoming and enriching space for dog lovers, providing opportunities to strengthen the connection with their pets and access crucial information for animal well-being. Join our community and share the love for dogs!

Contents

๐Ÿถ1. User Stories.

๐Ÿถ2. App Names, Color Palette, Logo, and Photos Selection.

๐Ÿถ3. Final Logo, Name, and App Color Palette.

๐Ÿถ4. Interviews and Surveys.

๐Ÿถ5. Prototypes.

๐Ÿถ6. Usability Testing.

๐Ÿถ7. Preview.

๐Ÿถ8. General Features.

๐Ÿถ9. Who Are the Users?

๐Ÿถ10. Objectives Regarding the Product.

๐Ÿถ11. Technologies Used.

๐Ÿถ12. Testing.

๐Ÿถ13. Issues.

๐Ÿถ14. Code Review.

1. User Stories.

historias-de-usuario-social-network

2. App Names, Color Palette, Logo, and Photos Selection.

App Name Proposals

nombres-para-petslife

Color Palette Proposals

propuestas-de-paletas-de-colores

Logo Proposals

propuesta-1-logos

propuesta-2-logo

Photos Selection for the App

fotos-para-app

3. Final Logo, Name, and App Color Palette.

Captura-de-pantalla-2023-10-12-180943

PALETA-1

4. Interviews and Surveys

encuesta-1 encuesta-2 encuesta-3 encuesta-4 encuesta-5 encuesta-6 encuesta-7

5. Prototypes.

  • Low-Fidelity Mobile Prototype.

prototipo-de-baja-fidelidad-petslife

  • High-Fidelity Mobile Prototype.

prototipo-de-alta-fidelidad-petslife

6. Usability Testing.

๐ŸถUser 1: Argued that in each view of the application, an image related to the theme should be included because the white background gave it a rather simplistic appearance. (1 user mentioned this).

๐ŸถUsers: They were asked to complete the tasks in the application and then share their opinions based on their experience. This user stated that the application was easily accessible and that the required actions were clear. (4 users agreed).

7. Preview.

Demo

Mobile Images

Screen-Shot-2023-10-12-at-16-14-03 register-nuevo-mobile Screen-Shot-2023-10-12-at-16-18-27 Screen-Shot-2023-10-12-at-16-14-11 Screen-Shot-2023-10-12-at-16-15-33

Tablet Images

Screen-Shot-2023-10-12-at-16-15-56 register-tablet-nuevo Screen-Shot-2023-10-12-at-16-16-21 Screen-Shot-2023-10-12-at-16-16-33 Screen-Shot-2023-10-12-at-16-18-03

Web Images

Screen-Shot-2023-10-12-at-16-21-55 register-web-nuevo Screen-Shot-2023-10-12-at-16-22-24 Screen-Shot-2023-10-12-at-16-22-37 Screen-Shot-2023-10-12-at-16-23-07

Mobile Video


Web Video

8. General Features.

๐ŸถThis is a Single Page Application (SPA) consisting of various views, such as the home page (Home), registration (Register), login (Login), the dog registration form (Dogform), and the feed.

๐ŸถWe utilized Firebase, a platform primarily designed to simplify web and mobile application development, enabling more efficient work without compromising the required quality.

๐ŸถIt leverages Firestore, our cloud-based NoSQL database, to store and synchronize data in a flexible and scalable manner. This facilitates development from both the client and server sides, ensuring efficient and reliable data management for the application.

9. Who Are the Users?

This project is aimed at dog lovers, the "best friends of humans," including dogs of all breeds and sizes.๐Ÿถ๐Ÿ•๐Ÿ•โ€๐Ÿฆบ๐Ÿฉ๐Ÿฆฎ

10. Product Goals.

๐ŸถThe primary purpose of this product is to allow users to share their best moments with their dogs while also providing valuable information about adoptions, sterilization, and vaccinations. This information is currently available exclusively for Mexico and Chile.

11. Technologies Used

๐ŸถJavaScript: Used to execute web functionality and display the results.

๐ŸถHTML5: Employed to render the app through a div that behaved like a node, allowing us to observe all elements created from JavaScript (inputs, buttons, text boxes, etc.).

๐ŸถCSS3 (@mediaquery): Determines the style and design of our application, including responsive design. Media queries were used in this project for designing on mobile phones, tablets, and desktop computers.

๐ŸถGitHub: This technology's utility was for storing the repository and facilitating collaborative work.

๐ŸถGit: Provided version control support.

๐ŸถNode.js: Used as the runtime environment for JavaScript.

๐ŸถJest: Unit tests were performed using this technology, as it allowed for mocks to simulate Firebase methods and test the functions developed by the team. Additionally, it provided a report to assess code quality.

๐ŸถFirebase: Different Firebase methods were used to enable users to access the application. User registration was accomplished using createUserWithEmailAndPassword and signInWithPopup. For the login view, GoogleAuthProvider was used to allow logging in with Google credentials. Furthermore, signInWithEmailAndPassword was employed for email login, and onAuthStateChanged was used to monitor changes in user authentication status, with signOut being used for logging out.

๐ŸถFirestore: This technology allowed us to access a real-time NoSQL document database. Our collections focused on user-generated posts, so methods like collection and addDoc were used. The object requested user email properties, date, and content.

๐ŸถSPA (Single Page Application): In order to provide our users with a faster browsing experience, the design was based on a Single Page Application (SPA).

๐ŸถVercel: Utilized to deploy the application directly from GitHub.

12. Testing

  • npm run pretest

npm-run-pretest

  • npm test

npm-run-test-petslife

  • npm run open-coverage-report

coverage-report-petslife

  • Only in these two sections, the test did not pass.

no-pas-test-en-esta-parte-1

no-pas-test-en-esta-parte-2

13. Issues.

General Issues

๐Ÿšจ Initially, there were issues with Firebase configuration.

๐Ÿšจ There was a problem with CSS: views were being affected by responsiveness, and several elements needed to be designed. The background images did not fit correctly in the initial attempts. After reviewing Display Grid and delving deeper into responsive design, we were able to resolve it.

๐Ÿšจ Problems with post duplication were encountered and resolved by adding a line in the onSnapshot function (section.innerHTML = '';).

๐Ÿšจ Another issue was with the date; it was only displaying milliseconds and not the full date and time. The solution was to use this code: datePost.textContent = new Date(doc.data().date.seconds * 1000).toLocaleString(); This code was added to format the date properly.

๐Ÿšจ In the tests, there was an issue where the dialog was not recognized in the delete test. To resolve this problem, we had to implement the following functions: HTMLDialogElement.prototype.showModal = jest.fn(); HTMLDialogElement.prototype.close = jest.fn().

14. Code Review.

๐ŸถI consider that you work in an extremely organized manner. Your code looks clean and elegant, with specific variable declarations that are perfectly understandable thanks to the names you use. It's clear that you communicate effectively about what you are doing.

About

https://petslife-tau.vercel.app


Languages

Language:JavaScript 58.6%Language:CSS 40.6%Language:HTML 0.8%