Skip to content

Latest commit

ย 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿง‘โ€๐Ÿซ CoachDesk โ€” Smart Coach Management System

A full-stack Coach Management Admin Panel built with React (Vite) on the frontend and Node.js + Express + Firebase Realtime Database on the backend. The system allows administrators to manage coaches โ€” including adding, updating, filtering, sorting, and deleting โ€” with a responsive and elegant interface.

๐Ÿ”น Frontend: React + TypeScript + Tailwind CSS

๐Ÿ”น Backend: Node.js + Express + Firebase Admin SDK

๐Ÿ”น Database: Firebase Realtime Database

๐Ÿ”น Features: Filtering, Sorting, Pagination, Search by ID

๐Ÿ”น UI: Dynamic, responsive, and loading animation while fetching data

๐Ÿ”น Deployment: Frontend (Vercel / Netlify), Backend (Render / Railway)

โšก API Endpoints

Method Endpoint Description
GET /api/coaches Fetch all coaches (with filters/pagination)
GET /api/coaches/:id Fetch a coach by ID
POST /api/coaches Add a new coach
PUT /api/coaches/:id Update existing coach
DELETE /api/coaches/:id Delete coach

๐ŸงฉTech Stack:

๐Ÿ”นFrontend

โš›๏ธ React + TypeScript (Vite)

๐Ÿ’… TailwindCSS for styling

๐Ÿ”„ React Query (or Zustand) for data fetching/state

๐ŸŽจ Shadcn/UI for clean UI components (optional but recommended)

๐Ÿ”” Toast notifications via react-hot-toast

๐Ÿ”นBackend

๐ŸŸข Node.js + Express

๐Ÿ”ฅ Firebase Admin SDK (Realtime Database)

๐ŸŒ dotenv

๐Ÿง  Core Functionalities

Feature Description
โž• Add Coach Add new coach with name, email, category, rating, status
โœ๏ธ Edit Coach Update existing coach information
โŒ Delete Coach Remove a coach by ID
๐Ÿ” Search Search by numeric ID
๐Ÿ—‚ Filter Filter by status, category, or rating
๐Ÿ“Š Pagination Client-side pagination and sorting
โšก Realtime Data stored and retrieved from Firebase Realtime Database

๐ŸŒ API Endpoints

Method Endpoint Description
GET /api/coaches Fetch all coaches with filters/pagination
GET /api/coaches/:id Get a coach by numeric ID
POST /api/coaches Add a new coach
PUT /api/coaches/:id Update an existing coach
DELETE /api/coaches/:id Delete a coach

๐Ÿงฎ Filters on Api

Example URL Description
GET /coaches?status=active Get all active coaches
GET /coaches?category=fitness Get all fitness coaches
GET /coaches?rating=4 Get coaches with rating โ‰ฅ 4
GET /coaches?status=inactive&category=yoga Combine multiple filters
GET /coaches?category=fit&rating=3 Partial category match and min rating

๐Ÿ“Š Pagination

Example URL Description
/coaches?page=1&limit=3 First 3 coaches
/coaches?page=2&limit=3 Next 3 coaches
/coaches?status=active&limit=2 Only active coaches, paginated
/coaches?category=yoga&page=2&limit=2 Filter and paginate together
/coaches?rating=4&page=1&limit=5 Coaches with rating โ‰ฅ 4 (first page)

๐Ÿง‘โ€๐Ÿ’ป Author

Praveen Kumar S ๐Ÿ“ง praveen0031kumar@gmail.com ๐Ÿ”— Portfolio

๐Ÿชช License

This project is licensed under the MIT License. Feel free to use, modify, and distribute with attribution.

About

a mini Admin Panel module to manage Coaches

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages