Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Waggy API

A FastAPI backend for the Waggy Sitters pet sitting application. This API provides endpoints for user authentication, pet management, booking services, and communication between pet owners and sitters.

Features

  • User authentication with JWT
  • User profile management
  • Pet profile management
  • Booking and scheduling
  • Sitter search and filtering
  • Messaging between owners and sitters
  • MongoDB integration

Tech Stack

  • Framework: FastAPI
  • Database: MongoDB with Motor (async driver)
  • Authentication: JWT with Python-JOSE
  • Password Hashing: Passlib with BCrypt
  • Data Validation: Pydantic
  • Environment Variables: Python-dotenv

Getting Started

Prerequisites

  • Python 3.8+
  • MongoDB (local or Atlas)
  • Virtual environment (recommended)

Installation

  1. Clone the repository
git clone https://github.com/yourusername/waggy-api.git
cd waggy-api
  1. Create and activate a virtual environment
python -m venv venv
# On Windows
venv\Scripts\activate
# On macOS/Linux
source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Set up environment variables
  • Copy .env.example to .env
  • Update the values in .env with your configuration
  1. Run the application
uvicorn app.main:app --reload

The API will be available at http://localhost:8000

API Documentation

Once the application is running, you can access:

Project Structure

waggy-api/
├── app/
│   ├── api/           # API endpoints
│   │   ├── deps.py    # Dependencies (auth, etc.)
│   │   └── routes/    # API route modules
│   ├── core/          # Core functionality
│   │   ├── config.py  # App configuration
│   │   └── security.py # Security utilities
│   ├── db/            # Database setup
│   │   └── mongodb.py # MongoDB connection
│   ├── models/        # MongoDB models
│   ├── schemas/       # Pydantic schemas
│   └── main.py        # FastAPI application
├── .env               # Environment variables
├── requirements.txt   # Python dependencies
└── README.md          # Project documentation

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

React Native/Expo mobile app for pet care services with dual owner/sitter interfaces. Features JWT authentication, booking management, and profile customization using TypeScript, React Navigation, and Axios. Clean component architecture with responsive UI elements from React Native Paper.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages