An open API service indexing awesome lists of open source software.

https://github.com/tareknexus/cratezy-subscription-services

Cratezy is a personalized subscription box platform that allows users to browse, subscribe to, and manage monthly curated boxes tailored to their interests.
https://github.com/tareknexus/cratezy-subscription-services

daisyui firebase react-router reactjs tailwind-css vite

Last synced: 3 months ago
JSON representation

Cratezy is a personalized subscription box platform that allows users to browse, subscribe to, and manage monthly curated boxes tailored to their interests.

Awesome Lists containing this project

README

          

# ๐ŸŽ Cratezy - Subscription Box Service Platform

Cratezy is a personalized subscription box platform that allows users to browse, subscribe to, and manage monthly curated boxes tailored to their interests. It supports various categories including Tech, Health, Home & Living, Food & Drink, Kids & Education, and Pet Care.

๐Ÿ”— **Live Site**: [https://a9-cratezy-tarek.netlify.app/](https://a9-cratezy-tarek.netlify.app/)

---

## ๐Ÿงฉ Project Purpose

The goal of Cratezy is to provide a seamless and engaging experience for users to discover subscription boxes. With Firebase authentication and personalized content, users can manage their profiles, reviews, and subscriptions with ease. The platform is responsive, fast, and secure โ€” encouraging support for local creators and businesses.

---

## ๐Ÿš€ Key Features

- ๐Ÿ” **Authentication**: Firebase email/password login, Google login, password reset
- ๐Ÿง‘โ€๐Ÿ’ป **Protected Routes**: Subscription details & profile only accessible after login
- ๐Ÿงพ **Dynamic Content**: JSON-based subscription services
- ๐Ÿงฐ **Subscription Details**: Users can view, review, and rate services
- ๐Ÿง  **My Profile Page**: Edit & update name and photo using Firebase `updateProfile()`
- ๐ŸŽก **Swiper Slider**: Interactive homepage slider
- ๐Ÿ“ **Blog Section**: Responsive blog layout for trending posts
- ๐ŸŒ **Dynamic Title**: Updates browser title per route
- ๐Ÿ“ฑ **Responsive Design**: Mobile, tablet, and desktop-friendly
- ๐ŸŽจ **Unique UI**: Tailwind CSS with DaisyUI components
- ๐ŸŒ **404 Page**: Custom Not Found page
- ๐Ÿ” **Environment Variables**: Secured Firebase credentials via `.env`
- โœจ **Extra Route**: Includes additional protected route (e.g. Blog/Profile)
- ๐Ÿ‘ **Show/Hide Password**: Password toggle on register page

---

## ๐Ÿ› ๏ธ Technologies Used

- React โ€“ Frontend library for building UI
- React Router v7 โ€“ Declarative routing and nested layouts
- Firebase โ€“ Authentication and backend services
- Tailwind CSS โ€“ Utility-first CSS framework
- DaisyUI โ€“ Component library for Tailwind
- Swiper โ€“ Responsive carousel/slider
- React Toastify โ€“ Toast notification system
- React Helmet โ€“ Manage page metadata/title dynamically
- Lucide React โ€“ Icon library
- Vite โ€“ Build tool for fast development
- .env โ€“ Secured environment variable management

---
##๐Ÿš€ How to Run Locally
-git clone https://github.com/TarekNexus/Cratezy-Subscription-Services
cd cratezy
# Create a .env file in the project root and add the Firebase config:
- VITE_API_URL=your_api_url
- VITE_FIREBASE_API_KEY=your_firebase_api_key
- VITE_FIREBASE_AUTH_DOMAIN=your_auth_domain
- VITE_FIREBASE_PROJECT_ID=your_project_id
- VITE_FIREBASE_STORAGE_BUCKET=your_storage_bucket
- VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
- VITE_FIREBASE_APP_ID=your_app_id

## ๐Ÿ“ฆ Dependencies
- Install dependencies
- npm install
- npm run dev
```json
{
"@tailwindcss/vite": "^4.1.5",
"daisyui": "^5.0.35",
"firebase": "^11.6.1",
"lucide-react": "^0.507.0",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-helmet": "^6.1.0",
"react-router": "^7.5.3",
"react-router-dom": "^7.5.3",
"react-toastify": "^11.0.5",
"swiper": "^11.2.6",
"tailwindcss": "^4.1.5"
}