Keepify is a modern warranty and purchase tracking platform that helps users securely store product warranties, receive expiry notifications, and manage purchases in one place. The system supports both traditional email/password authentication and Google Sign-In, includes automated expiry checks, and provides user-friendly dashboards with reports and reminders.
Keepify Project Url (Vercel): π https://keepify-the-product-warranty-tracke.vercel.app/
Backend API (Vercel): π https://keepify-the-product-warranty-tracke-lemon.vercel.app/
Back End Respository (Git Hub): π https://keepify-the-product-warranty-tracke-lemon.vercel.app/
- React + TypeScript
- Redux Toolkit
- Tailwind CSS
- React Router
- Chart.js / Recharts (for reports)
- Google OAuth (One Tap & Sign-In)
- Node.js
- Express.js
- TypeScript
- MongoDB Atlas
- Mongoose
- JWT Authentication (Access & Refresh Tokens)
- Nodemailer (Email notifications)
- Vercel (Frontend + Cron Jobs)
- MongoDB Atlas (Cloud Database)
- Vercel Cron Jobs (Automated expiry checks)
- Postman (API testing)
- Git & GitHub (Version control)
- User registration & login
- Google Sign-In integration
- Secure JWT-based authentication
- Role-based access (USER / ADMIN)
Add warranties with:
- Product name
- Category
- Brand
- Purchase & expiry dates
- Serial number
- Bill image upload
Additional features:
- Edit & delete warranties
- View all warranties in a dashboard
- Automated daily expiry check using Vercel Cron Jobs
- Notifications generated before warranty expiry
- Email alerts for expiring warranties
- In-app notifications
- Unread notification counter
- Expiry reminders
- Integrated chatbot for user assistance
- Responsive floating chat UI
- Fully responsive design
- Dark mode support
- Modern sidebar & navigation
- Mobile-friendly layouts
git clone https://github.com/your-username/keepify.git
cd keepify- Navigate to backend directory
cd backend- Install dependencies
npm install- Create
.envfile with the following variables:
PORT=5000
MONGO_URI=your_mongodb_atlas_url
JWT_SECRET=your_jwt_secret
JWT_REFRESH_SECRET=your_refresh_secret
GOOGLE_CLIENT_ID=your_google_client_id
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_app_password
CRON_SECRET=your_secure_cron_token
- Run backend (development)
npm run dev- Backend will run on
http://localhost:5000
- Navigate to frontend directory
cd frontend- Install dependencies
npm install- Create
.envfile with the following variables:
VITE_API_BASE_URL=http://localhost:5000
VITE_GOOGLE_CLIENT_ID=your_google_client_id
- Run frontend
npm run dev- Frontend will run on
http://localhost:5173
Keepify uses Vercel Cron Jobs to automatically check warranty expiry daily.
vercel.json
{
"crons": [
{
"path": "/api/v1/cron/run-expiry-check",
"schedule": "0 0 * * *"
}
]
}- Cron endpoint is protected using x-cron-token
- Only Vercel can trigger the job securely
- Logs available in Vercel Dashboard
- Email sent on successful cron execution (test confirmation)
- JWT-based authentication
- Refresh token mechanism
- Secure cron endpoint validation
- Environment variables for secrets
- Role-based access control
- Push notifications
- PDF export for reports
- Multi-language support
- Vendor warranty integrations
- Admin analytics dashboard
Dilan Liyanaarachchi Graduate Diploma in Software Engineering (GDSE) Project: KEEPIFY