Employee Madness is a Firebase-powered employee management web application. It supports Google and email/password authentication, CRUD operations for employees, equipment management, search, filtering, sorting, and optional pagination.
https://employee-madness-demo.web.app/
- 🔐 Firebase Authentication (Google & Email/Password)
- 💾 Firebase Realtime Database integration
- 👩💼 CRUD for employee records
- 🛠️ Equipment tracking
- 🔎 Employee search
- 🔃 Filter & sort employees by multiple fields
- 📄 Optional: Pagination
- 🔗 Optional: Equipment-employee relation
- Log in with Firebase CLI:
firebase login
- Initialize your Firebase project:
firebase init
- Enable Realtime Database and Authentication (Google and Email/Password) in your Firebase console.
- Copy
.env.sampleand rename it to.env.local. - Fill it with your Firebase credentials:
VITE_API_KEY=your_api_key VITE_AUTH_DOMAIN=your_project.firebaseapp.com VITE_DATABASE_URL=https://your_project.firebaseio.com VITE_PROJECT_ID=your_project_id
Update your database.rules.json file:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}Deploy with:
firebase deploy --only databaseStart the app locally:
npm install
npm run dev- Log in
- Create at least 5 test employees
- Test all CRUD operations
- Go to Firebase Console → ⚙️ → Service Accounts
- Generate a private key and download it
- Rename to
account.jsonand place it in theseeder/folder - Run:
npm run seed
- Filter employees by Position and Level
- A search box is also available for keyword lookup
- Sort by: First name, Last name, Middle name, Position, Level
- Click column headers to sort
- Add/edit/delete company equipment
- Properties:
name,type,amount
- On employee edit page, assign equipment from a dropdown
- Visit
/employees/:searchto find employees by exact name match
- Shows 10 employees per page
- Pagination appears after every 10 entries
- Created by [Fáy Kende]
- For any questions, contact [kendi006@gmail.com]