Hireflow is a modern job posting site built with a monorepo architecture. It includes a web app for browsing and posting jobs, a mobile app for job seekers on the go, and a robust backend API.
- Job Postings: Companies can post job openings with detailed descriptions.
- Job Search: Job seekers can search for jobs by keyword, location, and other filters.
- User Authentication: Secure user accounts for both job seekers and employers.
- Job Applications: Job seekers can easily apply for jobs directly through the platform.
- Monorepo: Managed with Turborepo and Yarn Workspaces.
- Backend:
- Node.js
- Express.js
- TypeScript
- TSyringe for dependency injection
- Frontend (Web):
- Frontend (Mobile):
- Shared Packages:
@hireflow/types: Shared TypeScript types.@hireflow/typescript-config: Shared TypeScript configurations.
The repository is a monorepo with the following structure:
/
├── apps/
│ ├── api/ # Backend API (Express.js)
│ ├── mobile/ # Mobile App (React Native/Expo)
│ └── web/ # Web App (React/Vite)
├── packages/
│ ├── types/ # Shared TypeScript types
│ └── typescript-config/ # Shared TypeScript configurations
└── ...
apps/api: The backend Express.js application that serves the data to the web and mobile apps.apps/web: The main web interface for users to interact with the platform.apps/mobile: The mobile application for job seekers.packages/types: Shared types between the different applications.packages/typescript-config: Shared TypeScripttsconfig.jsonfiles.
| Home | Search | Job Details |
|---|---|---|
![]() |
![]() |
![]() |
-
Clone the repository:
git clone https://github.com/your-username/hireflow.git cd hireflow -
Install the dependencies:
yarn install
The following scripts are available from the root of the project:
yarn dev: Start all applications in development mode.yarn build: Build all applications.yarn lint: Lint all applications.yarn format: Format all files with Prettier.yarn check-types: Type-check all applications.
You can also run these scripts for individual applications by navigating to the respective apps/* directory.


