A standalone GraphQL server built with Node.js provides the backend API for the MyPets web client, which is developed using React.
In 2020, after welcoming our first pet, my wife and I searched for a tool to help us manage events and changes related to our pets—both current and future. After exploring several options, we realized none fully met our needs, so we decided to create our own solution. That’s how MyPets was born.
Over nearly six years, the project has gone through multiple technology changes and periods of slow progress due to shifting priorities and other commitments. In 2026, the goal is to release a stable, user-friendly version that any family with pets can use—not just us.
Before cloning this repo, I recommend installing the following software:
- Node >=12.16.1 to install packages
- MongoDB >=4.2.3 to have a local database
- Robo 3T to visualize data on your Mongo Database
After cloning the repo, go to the created folder and install the node packages.
git clone https://github.com/NicolasOmar/my-pets-api.git
cd my-pets-api
npm installTo run it correctly (as a non-stopping server using local environment variables), I modified the start command by adding nodemon and env-cmd. So just run the following line:
npm startAfter start the server, you can access the GraphQL Plauground through the local link.
Once you have cloned the repo, it will show you the following folders:
.github:Github Actions files used to run post-merge.env:Environment variables.public:Contains only acssfolder for specific home page styling.scripts:Location of theupdate-version.jsfile, responsible of update package's version on each push.srcconstants:JSON files used for static values.db:Connection to the Mongo database trough Mongoose as well as its Model declarations.functions:Helper methods related to encryption and data parsing.graphql:Server configuration based on Apollo GraphQl connection with its Schemas and Resolver declarations.
templates:Structure dedicated to show a start page based in Moustache.js. Shows links of other useful sites related to the project.tests:Specific Jest configurations to test using a custom Mongoose connection.
| Project Status | React Repo |
|---|---|
| Project board for project status tracking | React front-end repository |
MIT