https://github.com/EdenOved/TechTrack-Job-Search-Management-Platform
Developed a personal platform to streamline the job search process in the tech industry, featuring a dynamic list of companies with detailed information and job links, paired with advanced resume management capabilities, including version control. Built with Python (FastAPI), React, TypeScript, and PostgreSQL.
https://github.com/EdenOved/TechTrack-Job-Search-Management-Platform
api-rest database fastapi full-stack job-search postgresql python react resume-management typescript web-development
Last synced: 12 days ago
JSON representation
Developed a personal platform to streamline the job search process in the tech industry, featuring a dynamic list of companies with detailed information and job links, paired with advanced resume management capabilities, including version control. Built with Python (FastAPI), React, TypeScript, and PostgreSQL.
- Host: GitHub
- URL: https://github.com/EdenOved/TechTrack-Job-Search-Management-Platform
- Owner: EdenOved
- Created: 2024-09-12T09:14:13.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-11-05T11:34:39.000Z (11 months ago)
- Last Synced: 2025-01-08T15:03:34.780Z (9 months ago)
- Topics: api-rest, database, fastapi, full-stack, job-search, postgresql, python, react, resume-management, typescript, web-development
- Language: TypeScript
- Homepage:
- Size: 1.06 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# **TechTrack – Job Search Management Platform**
### **Personal Project by Eden Oved****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.
---
## **Features**
### **Company Management**
- 📄 **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.### **Resume Management**
- 📤 **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.---
## **Tech Stack**
- 🚀 **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.---
## **Setup Instructions**
### **Prerequisites**
- **Backend**:
- Python 3.x
- PostgreSQL
- **Frontend**:
- npm (Node Package Manager)### **Installation Steps**
1. **Backend Setup**:
- Navigate to the `backend` directory:
```bash
cd backend
```
- Install the required Python packages:
```bash
pip install -r requirements.txt
```
- **Important**: Configure your database connection string in the `.env` file (refer to `.env.example` for the required variables).2. **Frontend Setup**:
- Navigate to the `frontend` directory:
```bash
cd frontend
```
- Install frontend dependencies:
```bash
npm install
```3. **Running the Project**:
- **Backend**: Start the FastAPI backend server:
```bash
uvicorn main:app --reload
```
- **Frontend**: Start the React frontend server:
```bash
npm start
```---
## **API Endpoints**
### **Company Management Endpoints**
- `GET /companies`: Fetch the list of companies from the database.
- `POST /companies`: Add a new company to the database.
- **Example**:
```json
{
"name": "Tech Solutions Company",
"location": "Israel",
"industry": "Software"
}
```
- `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.### **Resume Management Endpoints**
- `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.### **Wikipedia Integration**
- `GET /company-details/{company_name}`: Fetch company details from Wikipedia by name.---
## **How to Contribute**
Feel free to fork this repository, submit pull requests, or open issues if you encounter any bugs or have suggestions for improvements.---
## **Contact**
- **Name**: Eden Oved
- **Email**: edenoved.swe@gmail.com
- **LinkedIn**: [https://www.linkedin.com/in/edenoved/](https://www.linkedin.com/in/edenoved/)