TechTrack is a comprehensive job search management platform tailored for the tech industry, streamlining company research and resume management with ease and efficiency. It features a dynamic list of companies with detailed information and job links, alongside robust resume management capabilities with version control. The platform integrates with a CSV file that works closely with a PostgreSQL database, allowing users to efficiently import, update, and manage company data.
- 📄 Dynamic Company List: Manage a list of companies with detailed job titles, locations, industries, and websites.
- 📂 CSV Integration: Import and sync company data from a CSV file, ensuring data consistency and operational efficiency with PostgreSQL.
- 🔍 Search Companies: Search for companies based on job title, location, and other attributes.
- 🌐 Wikipedia Integration: Fetch company details directly from Wikipedia using the company name.
- 📤 Upload Resumes: Upload resumes and associate them with specific job titles or fields.
- 📝 Version Control: Manage multiple versions of resumes tailored to different job applications.
- 📥 Download Resumes: Download resumes in various formats (PDF, Word, or Text).
- 👀 View Resumes: Preview resume content directly in the browser.
- ✏️ Edit/Delete Resumes: Update or delete resumes as needed.
- 🚀 FastAPI: Backend framework used to handle API requests and business logic.
- ⚛️ React & TypeScript: Modern frontend for dynamic, responsive interfaces.
- 🗄️ PostgreSQL: Relational database optimized for complex queries and data integrity.
- 🧩 SQLAlchemy: ORM used for interacting with the PostgreSQL database.
- 🐍 Pandas: Python library for handling and manipulating CSV data.
- 🌐 Wikipedia API: Fetches company descriptions and details.
- Backend:
- Python 3.x
- PostgreSQL
- Frontend:
- npm (Node Package Manager)
-
Backend Setup:
- Navigate to the
backend
directory:cd backend
- Install the required Python packages:
pip install -r requirements.txt
- Important: Configure your database connection string in the
.env
file (refer to.env.example
for the required variables).
- Navigate to the
-
Frontend Setup:
- Navigate to the
frontend
directory:cd frontend
- Install frontend dependencies:
npm install
- Navigate to the
-
Running the Project:
- Backend: Start the FastAPI backend server:
uvicorn main:app --reload
- Frontend: Start the React frontend server:
npm start
- Backend: Start the FastAPI backend server:
GET /companies
: Fetch the list of companies from the database.POST /companies
: Add a new company to the database.- Example:
{ "name": "Tech Solutions Company", "location": "Israel", "industry": "Software" }
- Example:
PUT /companies/{company_id}
: Update company details.DELETE /companies/{company_id}
: Delete a company from the database.POST /import-companies
: Upload a CSV file to import company data and synchronize it with the PostgreSQL database.
GET /resumes
: Fetch a list of uploaded resumes.POST /resumes/upload
: Upload a new resume.PUT /resumes/{resume_id}
: Update an existing resume.DELETE /resumes/{resume_id}
: Delete a resume.GET /resumes/download/{filename}
: Download a resume by filename.
GET /company-details/{company_name}
: Fetch company details from Wikipedia by name.
Feel free to fork this repository, submit pull requests, or open issues if you encounter any bugs or have suggestions for improvements.
- Name: Eden Oved
- Email: [email protected]
- LinkedIn: https://www.linkedin.com/in/edenoved/