SkillPathAI is a career transition and skill development platform that helps users navigate their professional journey. The platform provides personalized learning paths and career guidance through an intuitive web interface.
SkillPathAI/
├── frontend/ # Streamlit-based web application
│ ├── assets/ # Static assets (images, icons)
│ ├── components/ # Reusable UI components
│ ├── logs/ # Application logs
│ ├── .streamlit/ # Streamlit configuration
│ ├── auth_page.py # Authentication pages
│ ├── career_transition_page.py # Career transition features
│ ├── courses_page.py # Course management
│ ├── dashboard.py # Main dashboard logic
│ ├── dashboard_page.py # Dashboard UI
│ ├── guidance_hub_page.py # Guidance and support
│ ├── learning_path_page.py # Learning path management
│ ├── main.py # Application entry point
│ ├── profile_page.py # User profile management
│ ├── styles.css # Custom styling
│ └── ui_formatter.py # UI formatting utilities
│
├── backend/ # FastAPI-based backend services
│ ├── api/ # API endpoints
│ ├── services/ # Business logic
│ ├── logs/ # Application logs
│ ├── database.py # Database configuration
│ └── requirements.txt # Backend dependencies
│
├── docker/ # Docker configuration
│ ├── Dockerfile # Docker build instructions
│ ├── docker-compose.yml # Service orchestration
│ ├── DOCKER_README.md # Docker setup guide
│ └── .dockerignore # Docker ignore rules
│
├── Deployment/ # Deployment scripts
│ └── docker-run.sh # Script for building and running Docker containers
│
└── etl/ # ETL pipeline
├── extract/ # Data extraction
├── transform/ # Data transformation
├── load/ # Data loading
├── Cortex_Queries/ # Snowflake queries
└── main.py # ETL orchestration
-
Authentication System
- User Login
- User Registration
- Password Recovery
- Secure Session Management
-
Dashboard
- Personalized user dashboard
- Career transition insights
- Learning path recommendations
- Progress tracking
-
Career Transition Tools
- Career path analysis
- Skill gap assessment
- Transition planning
- Job market insights
-
Learning Path Management
- Course recommendations
- Skill development tracking
- Progress monitoring
- Personalized learning plans
-
Data Sources
- Udemy courses
- Coursera courses
- edX courses
- Udacity courses
- Pluralsight courses
-
Data Processing
- Data extraction from Kaggle
- Data transformation
- Data loading to Snowflake
- Automated pipeline execution
- Framework: Streamlit 1.43.2
- Data Processing: Pandas 2.0.3, NumPy 1.24.3
- Styling: Custom CSS
- API Integration: Requests 2.31.0
- Environment Management: python-dotenv 1.0.0
- State Management: Streamlit Session State
- Logging: Python logging module
- Framework: FastAPI 0.115.12
- Server: Uvicorn 0.34.2
- Database: Snowflake (via snowflake-connector-python 3.13.2)
- Data Processing: Pandas 2.0.3, NumPy 1.24.3
- File Handling: python-multipart 0.0.9
- Environment Management: python-dotenv 1.0.0
- API Integration: Requests 2.31.0
- Containerization: Docker
- Orchestration: Docker Compose
- Resource Management: Memory limits and reservations
- Auto-restart: Failure recovery with max attempts
- Volume Mounts: Development-friendly file mounting
- Python 3.9+
- Docker and Docker Compose
- Snowflake account and credentials
- Streamlit (for frontend development)
-
Clone the repository:
git clone https://github.com/yourusername/SkillPathAI.git cd SkillPathAI -
Make the docker-run.sh script executable:
chmod +x Deployment/docker-run.sh
-
Run the application using the docker-run.sh script:
./Deployment/docker-run.sh
This script will:
- Check if required ports (8501 and 8000) are available
- Build and start the Docker containers
- Set up environment variables for Snowflake
- Provide URLs for accessing the application
- Handle cleanup when you stop the script (Ctrl+C)
Note: The script will use default Snowflake credentials if not specified. To use your own credentials, you can either:
- Edit the script and modify the default values
- Set the environment variables before running the script:
export SNOWFLAKE_ACCOUNT="your_account" export SNOWFLAKE_USER="your_user" export SNOWFLAKE_PASSWORD="your_password" export SNOWFLAKE_WAREHOUSE="your_warehouse" export SNOWFLAKE_DATABASE="your_database" export SNOWFLAKE_SCHEMA="your_schema" ./Deployment/docker-run.sh
-
Access the application:
- Frontend: http://localhost:8501
- Backend API: http://localhost:8000
-
Clone the repository:
git clone https://github.com/yourusername/SkillPathAI.git cd SkillPathAI -
Set up environment variables: Create a
.envfile in both frontend and backend directories with necessary credentials -
Install frontend dependencies:
cd frontend pip install -r requirements.txt -
Install backend dependencies:
cd backend pip install -r requirements.txt -
Start the backend server:
cd backend uvicorn main:app --reload -
Start the frontend:
cd frontend streamlit run main.py
-
Navigate to the etl directory:
cd etl -
Install required dependencies:
pip install -r requirements.txt
-
Run the ETL pipeline:
python main.py
- Navigate to the frontend directory
- Install dependencies:
pip install -r requirements.txt
- Run the development server:
streamlit run main.py
- Navigate to the backend directory
- Install dependencies:
pip install -r requirements.txt
- Run the development server:
uvicorn main:app --reload
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
- Project Members: [Sangram, Anusree, Divya]

