Skip to content

A react-based web application for daily activity log of family pets.

License

Notifications You must be signed in to change notification settings

NicolasOmar/my-pets

Repository files navigation

My Pets

Web system for families. It helps them manage and keep track of everything related to their pets.

Table of contents

Status

Project version Code Coverage Quality Gate Status Maintainability Rating Security Rating Technical Debt Known Vulnerabilities GitHub Repo stars GitHub commit activity GitHub last commit

Dependencies

react dependency prop-types dependency vite dependency vitest dependency graphql dependency apollo dependency react-router-dom dependency validator dependency bulma dependency storybook dependency react testing library dependency eslint dependency prettier dependency

What do I need?

Before cloning this repo, I recommend installing the following software:

  • Node >=12.16.1 to install packages
  • API Repo to work in a local environment

Setup

After cloning the repo, install the node packages in the project's root file.

git clone https://github.com/NicolasOmar/my-pets.git
cd my-pets
npm install

How to run it

To run it as a single instance (using a production-like build)

npm start

Folder structure

Once you have cloned the repo, it will show you the following folders:

  • .github: Github Actions files used to run post-merge.commits like unit test coverage collection.
  • .storybook: Dedicated to Storybook configuration.
  • env: Environment variables.
  • public: Structure where the library will point it's App component once initiated, it also contains styles, scripts, logos and other useful files.
  • scripts: Location of the update-version.js file, responsible of update package's version on each push.
  • src:
    • components: Location of all used components, using Atomic Design hierarchy structure (atoms -> molecules -> organisms -> templates -> pages)
    • constants: JSON files used to contain constant values like routes, validation cases and input classes.
    • enums: Similar to constants, will be merged to constants in the next versions
    • functions: Helper methods related to several features like encryption, data parsing and validation.
    • graphql: Location of the queries and mutations used trough Apollo GraphQl.
    • redux: Code related to reducers and actions.

Branches and Environments

Because I am using Netlify to host the site, I am maintaining the main branch only. Therefore, the following link sends you to the last deployed version.

Find out more

Project Status Storybook site Node Repo
Project board for project status tracking Site dedicated to show and test all the created components Node API repository

License

MIT

About

A react-based web application for daily activity log of family pets.

Resources

License

Stars

Watchers

Forks

Languages