Skip to content

This SAAS (Software as a Service) application is intended to assist in the management of veterinary clinics and pet shops, keeping in mind the management of stock, patients, customers and guardians according to the plan chosen by the user.

License

Notifications You must be signed in to change notification settings

IgorSecurityDeveloper/MyPetManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

User Interface planing


UI login


Development & Engineering Strategy - MyPetManager

1️⃣ Key Requirements

To ensure MyPetManager is robust, fast, and secure, the development strategy will focus on:

✔ Scalability – Microservices and modular architecture.

✔ Security – Secure authentication, data encryption, and role-based access control.

✔ Performance – Optimized database queries and caching strategies.

✔ SEO & Accessibility – Server-side rendering (SSR) and multilingual support (i18n).

✔ Cross-device Support – Fully responsive UI for web access on any device.


2️⃣ Technology Stack

Layer Technology Purpose

Frontend Next.js (React) SSR for SEO, fast UI rendering, and easy language switching (i18n).

Backend Nest.js (Node.js) REST API, authentication, business logic, and microservices architecture.

Backend Spring Boot (Java) Robust backend services, ensuring performance and security.

Database Oracle Developer Database / MongoDB Structured enterprise data (Oracle), flexible schema-less data (MongoDB).

Authentication JWT + OAuth Secure user authentication and session management.

Cloud & Hosting AWS / Azure Scalable cloud infrastructure.

Security Helmet.js, rate limiting, OWASP best practices to Prevent XSS, SQL injection, and brute-force attacks.

Caching Redis Speed up responses and reduce database load.

CI/CD GitHub Actions / Docker / Jenkins Automated testing, containerized pipelines, and deployments.

Internationalization next-i18next (Frontend), nestjs-i18n (Backend), Spring's MessageSource (Java) Multi-language support (English, Spanish, Portuguese).

Containerization & Orchestration Docker, Docker Compose, Kubernetes Containerized services, orchestration, and scalability.


3️⃣ Development Roadmap

Phase Objective Estimated Time Completed Completion Date

📌 Project Roadmap Summary - MyPetManager

Phase Objective Estimated Time Completed Completion Date
1 Planning and Architecture - Define system requirements, features, and technology stack. 1-2 weeks 02/11/2025
2 Initial Setup and Infrastructure - Configure repositories, CI/CD, databases, and cloud hosting. 2-3 weeks
3 Frontend Development - Develop UI with Next.js (React), ensure responsiveness, integrate with APIs. 4-6 weeks
4 Backend Development - Build APIs with Nest.js (Node.js) and Spring Boot (Java), implement authentication, role-based access, and business logic. 4-6 weeks
5 Internationalization (i18n) Implementation - Add language support (English, Spanish, Portuguese) using next-i18next (Frontend), nestjs-i18n (Nest.js), and MessageSource (Java). 2-3 weeks
6 Security, Testing, and Optimization - Perform security audits, unit/integration testing, Jenkins CI in Docker, and performance optimizations. 2-3 weeks
7 Deployment and Launch - Deploy to production, monitor performance, and finalize documentation. 2 weeks
Total Fully functional SaaS application 🚀 17-25 weeks (~4-6 months) - -

🌍 Internationalization (i18n) Strategy

To ensure language adaptability, the following i18n approach will be implemented:

Frontend (Next.js) → next-i18next for real-time translation & language switching.

Backend (Nest.js) → nestjs-i18n for API response translations.

Backend (Java) → Spring Boot MessageSource for localization.

Auto Language Detection → Based on user preference, browser settings, or database-stored preference.


🧪 Testing Strategy & Jenkins in Docker

✔ Unit Tests – JUnit (Java), Jest (Node), and React Testing Library (Frontend).

✔ Integration Tests – REST Assured (Java), SuperTest (Node.js).

✔ E2E Testing – Cypress.

✔ Jenkins – CI/CD pipelines running in Docker containers with Jenkins agents, supporting parallel builds and automated tests.

✔ Test Coverage Reports – Jacoco (Java), Istanbul (JS).


📦 Containerization and Orchestration

✔ Docker – Containerize each microservice and frontend app.

✔ Docker Compose – Local multi-container setup (Oracle DB, MongoDB, Redis, backend, frontend).

✔ Kubernetes – Production orchestration with Helm charts, autoscaling, and zero-downtime deployments.

✔ CI/CD integration – Automatically build and deploy Docker images via GitHub Actions and Jenkins.


Conclusion

This strategy ensures that MyPetManager is:

✅ Fast → Optimized queries, caching (Redis), SSR.

✅ Secure → Proper authentication, OWASP best practices.

✅ Scalable → Modular microservices for backend, cloud-based infrastructure.

✅ User-Friendly → Multi-language support, cross-device compatibility.


📂 Folder Structure and Best Practices for MyPetManager

1️⃣ Frontend Folder Structure for Next.js

/my-pet-manager
  ├── /public                # Public static files (images, fonts, etc.)
  ├── /src
  │   ├── /components        # Reusable components (buttons, forms, headers)
  │   ├── /pages             # Next.js pages (routes for user navigation)
  │   │   ├── index.tsx      # Home page
  │   │   ├── login.tsx      # Login page
  │   │   └── dashboard.tsx  # Dashboard page
  │   ├── /styles            # Styles (CSS, SCSS files)
  │   ├── /services          # Functions or APIs for interacting with the backend
  │   ├── /utils             # Helper functions (validators, utilities, etc.)
  │   ├── /context           # Global state management...

About

This SAAS (Software as a Service) application is intended to assist in the management of veterinary clinics and pet shops, keeping in mind the management of stock, patients, customers and guardians according to the plan chosen by the user.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published