原始内容
CareerCopilot
CareerCopilot is an AI-powered career management platform designed to help you streamline your job search, manage your resumes and applications, and automate repetitive tasks. This monorepo contains the code for the CareerCopilot frontend, backend, and serverless functions.
Features
- AI-Powered Resume Builder: Create and tailor your resume for specific job applications.
- Job Application Tracker: Keep track of all your job applications in one place.
- Automated Application Filler: (Coming Soon) Automatically fill out job applications.
- Interview Preparation Assistant: (Coming Soon) Get help preparing for interviews with AI-powered mock interviews and feedback.
Architecture
CareerCopilot is a monorepo that consists of three main components:
- Frontend: A React application built with Vite and Material-UI.
- Backend: A Python API built with FastAPI.
- Functions: Serverless functions for Firebase that handle backend logic.
The application is hosted on Firebase, with the frontend on Firebase Hosting, the backend logic in Firebase Functions, and the data stored in Firestore.
Technologies
| Category | Technology |
|---|---|
| Frontend | React, Vite, Material-UI, TypeScript |
| Backend | Python, FastAPI |
| Serverless | Firebase Functions |
| Database | Firestore |
| Hosting | Firebase Hosting |
| Testing | Jest, Playwright |
| Package Manager | Yarn |
Prerequisites
Before you begin, ensure you have the following installed:
- Node.js (v18 or later)
- Yarn (v4 or later)
- Firebase CLI
- Python (v3.12 or later)
Installation
Clone the repository:
git clone https://github.com/careercopilot/careercopilot.git cd careercopilotInstall dependencies:
yarn installSet up environment variables:
Navigate to the
functionsdirectory and create a.envfile. You will need to add the following environment variables:GCLOUD_PROJECT=<your-gcloud-project> FIREBASE_CONFIG=<your-firebase-config>Note: The
FIREBASE_CONFIGvariable is auto-populated in a production environment.Install Python dependencies:
pip install -r backend/requirements.txt
Usage
To run the application in a development environment, you will need to run the frontend and the Firebase emulators in separate terminals.
Terminal 1: Start the frontend
yarn dev
Terminal 2: Start the Firebase emulators
cd functions
yarn serve
Testing
This project includes unit tests, integration tests, and end-to-end tests.
Run all tests:
yarn test:allRun frontend tests:
yarn test:frontendRun backend tests:
yarn test:backendRun Firebase Functions tests:
yarn test:functionsRun end-to-end tests:
yarn test:e2e
Deployment
The application is deployed to Firebase.
Build the frontend and functions:
yarn buildDeploy to Firebase:
firebase deploy
Available Scripts
| Script | Description |
|---|---|
yarn dev |
Starts the frontend development server. |
yarn dev:functions |
Starts the Firebase emulators. |
yarn build |
Builds the frontend and functions for production. |
yarn lint |
Lints the frontend and functions code. |
yarn test |
Runs the frontend tests. |
yarn test:all |
Runs all tests. |
yarn start |
Starts the frontend in preview mode. |
Contributing
Contributions are welcome! Please see our contributing guidelines for more information.
License
This project is licensed under the UNLICENSED license.This is a test change to trigger the workflows.