FreelanceFlow is a production-ready, full-stack SaaS application built as an AI-powered business management platform for freelancers.
FreelanceFlow/
├── backend/ # Express.js + TypeScript API
│ ├── config/ # Mongoose & DB setup
│ ├── logs/ # Application log files (error.log, combined.log)
│ ├── middleware/ # Error handlers & rate limiters
│ ├── tests/ # Jest + Supertest suites
│ ├── utils/ # Winston loggers
│ ├── .env.example
│ ├── package.json
│ └── README.md
├── frontend/ # Next.js 15 App
│ ├── app/ # App router paths
│ ├── components/ # UI & Theme providers
│ ├── lib/ # Utilities (shadcn/ui setup)
│ ├── .env.example
│ ├── package.json
│ └── README.md
└── README.md # Root Instructions
- Node.js (v18+)
- npm (v9+)
- MongoDB Atlas cluster (or local MongoDB server)
- SMTP Server details (Mailtrap, SendGrid, Gmail, etc.)
- OpenAI API Key
First, configure your environment files:
- Backend Setup:
- Navigate to
/backend - Copy
.env.exampleto.env - Fill in details (especially
MONGODB_URI,JWT_SECRET,SMTP_*, andOPENAI_API_KEY)
- Navigate to
- Frontend Setup:
- Navigate to
/frontend - Copy
.env.exampleto.env.local - Change the API base URL if hosting differently than
http://localhost:5000/api
- Navigate to
Install project dependencies in both folders:
# Install backend
cd backend
npm install
# Install frontend
cd ../frontend
npm installRun development servers for both workspaces:
- Backend Dev Server:
Runs at
cd backend npm run devhttp://localhost:5000(API endpoint at/api). - Frontend Dev Server:
Runs at
cd frontend npm run devhttp://localhost:3000.
Execute the Jest testing pipeline:
cd backend
npm run test