Tackly ("my-bucket") is a modern, interactive bucket list app built with React, TypeScript, Vite, Firebase, Zustand, and Framer Motion. It helps you set, track, and celebrate your life goals and adventures in a fun, visual way.
- Create, edit, and delete bucket list items with titles, descriptions, and target dates.
- User authentication via email/password or Google sign-in.
- Profile customization with avatar selection or image upload.
- Save and revisit your completed goals ("achievements").
- Animated, responsive UI with Framer Motion.
- Persistent storage using Firebase Firestore.
- Add, update, and remove bucket list entries
- Mark goals as completed and view your achievements
- Secure authentication (Google or email/password)
- Customizable profile with avatar or uploaded image
- Animated transitions and interactive UI
- Mobile-friendly and responsive design
Coming soon!
- Node.js (v18+ recommended)
- npm or yarn
# Clone the repo
git clone <your-repo-url>
cd my-bucket
# Install dependencies
npm install
# or
yarn install# Start the development server
npm run dev
# or
yarn devVisit http://localhost:5173 to view the app.
npm run build
# or
yarn buildnpm run lint
# or
yarn lintmy-bucket/
├── public/ # Static assets (avatars, images, etc.)
├── src/ # Source code
│ ├── App.tsx # App entry point
│ ├── Bucket.tsx # Main bucket list logic/UI
│ ├── states.ts # Zustand global state
│ ├── firebase.ts # Firebase config
│ └── ... # Other components/assets
├── package.json # Project metadata & scripts
├── vite.config.ts # Vite config
└── ...
- React + TypeScript
- Vite (build tool)
- Firebase (Auth & Firestore)
- Zustand (state management)
- Framer Motion (animations)
- React Icons
MIT
3e4d22d82fe6963fd6159c372f816e553c9ab4ef