Skip to content

SyedFaisal30/OfficeFlow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

41 Commits
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

CricAIlytics Logo OfficeFlow โ€“ Office Management System

OfficeFlow is a full-stack Office Management System built using Node.js, Express, and MongoDB, with a React + Tailwind CSS frontend. It enables CRUD operations for Departments and Employees, supports pagination, search, and filtering, integrates a Country/State/City API, and features JWT-based Admin Login.

๐ŸŒŸ Features

  • ๐Ÿ” Admin-only access with JWT Auth
  • ๐Ÿข Department CRUD
  • ๐Ÿ‘ค Employee CRUD with:
    • Department selection
    • Supervisor assignment (self-reference)
    • Country/State/City selection via dynamic external API
  • ๐Ÿ” Employee listing with:
    • Pagination
    • Search (by name/email)
    • Filter (by department and job title)
  • ๐ŸŒ Location dropdowns via CountriesNow API
  • โš›๏ธ Modern responsive frontend using React + Tailwind CSS

๐Ÿ”‘ Admin Login

Use the following credentials to log in:

Email: faisal30@gmail.com Password: faisal23


๐Ÿ› ๏ธ Tech Stack

Layer Tech
Frontend React, Tailwind CSS
Backend Node.js, Express.js
Database MongoDB with Mongoose
Auth JWT-based authentication
API CountriesNow API (Location data)
View Rendering React Components (no EJS)

๐Ÿš€ Installation & Setup

  1. Clone the repo:
    git clone https://github.com/your-username/officeflow.git
    cd officeflow

Backend Setup:

cd backend

npm install npm run dev

Frontend Setup:

cd frontend

npm install npm start Environment Variables:

Create .env in /backend:

PORT=8000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret ๐Ÿ“ฌ API Endpoints ๐Ÿ” Auth POST /api/admin/login โ†’ Admin login (returns JWT)

๐Ÿข Department GET /api/departments

POST /api/departments

PUT /api/departments/:id

DELETE /api/departments/:id

๐Ÿ‘ค Employee GET /api/employees?page=1&limit=10&search=John&department=IT&jobTitle=Manager

POST /api/employees

PUT /api/employees/:id

DELETE /api/employees/:id

๐ŸŒ External API (CountriesNow) Integrated with: https://countriesnow.space/api/v0.1/countries/

Used to dynamically fetch:

Countries

States based on Country

Cities based on State

๐Ÿ“ฎ Postman Collection Postman collection for all APIs is included in the /postman folder or Download Here (add link after uploading)

๐Ÿ“ธ Screenshots (Add screenshots of Dashboard, Employee Form, Filters, etc.)

๐Ÿง‘โ€๐Ÿ’ป Author Syed Faisal Abdul Rahman Zulfequar

๐Ÿ“œ License MIT License

About

Admin-driven office management system with employee/department CRUD and location-based APIs.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages