The Birthday App is a modern web application built with React, TypeScript, and Vite. It provides an intuitive user experience for managing and celebrating birthdays, with features like reminders, notifications, and a sleek UI.
- Frontend: React 18, TypeScript, Vite
- State Management: React Context API
- UI Library: Tailwind CSS
- Form Handling: React Hook Form + Yup Validation
- Icons: Lucide-react
- Routing: React Router
- Animation: Framer Motion
- Cookies Management: js-cookie
- Linting: ESLint + TypeScript ESLint Config
- 🎉 Add and manage birthdays
- 🎨 Beautiful, responsive UI
- 🔔 Reminders & Notifications
- 🚀 Smooth animations with Framer Motion
- Node.js (Latest LTS recommended)
- Yarn
- Clone the repository
git clone <repo-url> cd birthday-app
- Install dependencies
yarn install # or npm install
- Start the development server
yarn dev # or npm run dev
- Open in Browser
Navigate to
http://localhost:5173/
(or the displayed URL) in your browser.
For production applications, enable type-aware lint rules:
- Configure
eslint.config.js
import react from 'eslint-plugin-react'; export default tseslint.config({ settings: { react: { version: '18.3' } }, plugins: { react }, rules: { ...react.configs.recommended.rules, ...react.configs['jsx-runtime'].rules, }, });
- Update parserOptions in ESLint configuration:
export default tseslint.config({ languageOptions: { parserOptions: { project: ['./tsconfig.node.json', './tsconfig.app.json'], tsconfigRootDir: import.meta.dirname, }, }, });
For production deployment:
yarn build
The build output will be in the dist/
folder, ready to be deployed to Vercel, Netlify, or any hosting service.
Contributions are welcome! Follow these steps:
- Fork the repo
- Create a feature branch
- Commit your changes
- Push and create a PR
This project is licensed under the MIT License.
Happy Coding! 🎂🚀