A modern payroll management system built with Next.js, Supabase, and MongoDB.
- Modern UI built with Next.js and Tailwind CSS
- Real-time data processing with Supabase
- Flexible data storage with MongoDB
- Type-safe development with TypeScript
- Responsive design with Radix UI components
- Form handling with React Hook Form
- Data visualization with Recharts
- Authentication and authorization
- Activity logging and analytics
- RESTful API for backend integrations
- Node.js (v18 or higher)
- npm or yarn
- MongoDB (local or Atlas)
- Supabase account
- Clone the repository:
git clone [repository-url]
cd project-bolt- Install dependencies:
npm install
# or
yarn install-
Set up environment variables:
- Copy
.env.exampleto.env.local - Configure MongoDB and Supabase credentials
- Copy
-
Set up databases:
- Follow MONGODB_SETUP.md for MongoDB configuration
- Follow SUPABASE_SETUP.md for Supabase configuration
Start the development server:
npm run dev
# or
yarn devOpen http://localhost:3000 in your browser.
To build the application for production:
npm run build
# or
yarn buildTo start the production server:
npm run start
# or
yarn startRun tests with:
npm test
# or
yarn test- Frontend Framework: Next.js
- Styling: Tailwind CSS
- UI Components: Radix UI
- Database:
- Supabase (PostgreSQL)
- MongoDB
- Form Handling: React Hook Form
- Data Visualization: Recharts
- Type Safety: TypeScript
- Testing: Playwright, Vitest
pay-roll/
├── app/ # Next.js app directory
│ ├── api/ # API routes
├── components/ # Reusable UI components
├── lib/ # Utility functions and configurations
├── hooks/ # Custom React hooks
├── public/ # Static assets
├── scripts/ # Utility scripts
├── supabase/ # Supabase configurations
├── test-ledger/ # Test data and configurations
└── __tests__/ # Test files
The application includes a RESTful API for integrating with other systems.
All API requests (except health checks) require an API key to be provided in the header:
x-api-key: your-api-key
GET /api- API health checkGET /api/mongodb-status- MongoDB connection status
GET /api/employees- List all employeesPOST /api/employees- Create a new employeeGET /api/employees/:id- Get employee details and activityPUT /api/employees/:id- Update employee informationDELETE /api/employees/:id- Delete an employee
GET /api/payroll- List recent payroll transactionsPOST /api/payroll- Process payroll for a company
GET /api/vault- Get vault transactions and analyticsPOST /api/vault- Add a new vault transaction
GET /api/analytics?type=payroll&period=30d- Get analytics dataPOST /api/analytics- Record an analytics event
For detailed API documentation, refer to the API.md file.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.