--- title: Lin - LinkedIn Community Manager sdk: docker app_file: start_app.py license: mit --- # Lin - Community Manager Assistant for LinkedIn A comprehensive community management tool that helps you automate and streamline your LinkedIn activities. ## 🚀 Quick Start ### Prerequisites - Node.js (v16 or higher) - Python (v3.8 or higher) - npm (v8 or higher) ### Installation **Option 1: Using the root package.json (Recommended)** ```bash # Clone the repository git clone cd Lin # Install all dependencies npm install # Setup the project npm run setup # Start both frontend and backend npm start ``` **Option 2: Manual installation** ```bash # Install frontend dependencies cd frontend npm install # Install backend dependencies cd ../backend pip install -r requirements.txt # Return to root directory cd .. ``` ## 📁 Project Structure ``` Lin/ ├── package.json # Root package.json with combined scripts ├── frontend/ # React frontend application │ ├── package.json # Frontend-specific dependencies │ ├── src/ # React source code │ ├── public/ # Static assets │ └── build/ # Build output ├── backend/ # Flask backend API │ ├── app.py # Main application file │ ├── requirements.txt # Python dependencies │ ├── api/ # API endpoints │ ├── models/ # Data models │ ├── services/ # Business logic │ └── utils/ # Utility functions └── README.md # This file ``` ## 🛠️ Development ### Available Scripts From the project root directory, you can use the following commands: #### Installation - `npm install` - Install root dependencies - `npm run install:frontend` - Install frontend dependencies - `npm run install:backend` - Install backend dependencies - `npm run install:all` - Install all dependencies - `npm run install:all:win` - Install all dependencies (Windows-specific) #### Development Servers - `npm run dev:frontend` - Start frontend development server - `npm run dev:backend` - Start backend development server - `npm run dev:all` - Start both servers concurrently - `npm run start` - Alias for `npm run dev:all` - `npm run start:frontend` - Start frontend only - `npm run start:backend` - Start backend only #### Build & Test - `npm run build` - Build frontend for production - `npm run build:prod` - Build frontend for production - `npm run preview` - Preview production build - `npm run test` - Run frontend tests - `npm run test:backend` - Run backend tests - `npm run lint` - Run ESLint - `npm run lint:fix` - Fix ESLint issues #### Setup & Maintenance - `npm run setup` - Full setup (install + build) - `npm run setup:win` - Full setup (Windows-specific) - `npm run clean` - Clean build artifacts - `npm run reset` - Reset project (clean + install) ### Directory Navigation **Important:** Most npm commands should be run from the project root directory where the main `package.json` is located. #### Command Prompt (Windows) ```cmd # Navigate to project root (if not already there) cd C:\Users\YourUser\Documents\Project\Lin_re\Lin # Install dependencies npm install # Start development servers npm start # Or start individually npm run dev:frontend npm run dev:backend ``` #### PowerShell (Windows) ```powershell # Navigate to project root (if not already there) cd C:\Users\YourUser\Documents\Project\Lin_re\Lin # Install dependencies npm install # Start development servers npm start # Or start individually npm run dev:frontend npm run dev:backend ``` #### Linux/macOS ```bash # Navigate to project root (if not already there) cd /path/to/your/project/Lin # Install dependencies npm install # Start development servers npm start # Or start individually npm run dev:frontend npm run dev:backend ``` ## 🔧 Environment Setup ### Frontend Environment ```bash # Copy environment file cd frontend cp .env.example .env.local # Edit environment variables # Open .env.local and add your required values ``` ### Backend Environment ```bash # Copy environment file cd backend cp .env.example .env # Edit environment variables # Open .env and add your required values ``` ### Required Environment Variables **Frontend (.env.local)** - `REACT_APP_API_URL` - Backend API URL (default: http://localhost:5000) **Backend (.env)** - `SUPABASE_URL` - Your Supabase project URL - `SUPABASE_KEY` - Your Supabase API key - `CLIENT_ID` - LinkedIn OAuth client ID - `CLIENT_SECRET` - LinkedIn OAuth client secret - `REDIRECT_URL` - LinkedIn OAuth redirect URL - `HUGGING_KEY` - Hugging Face API key - `JWT_SECRET_KEY` - Secret key for JWT token generation - `SECRET_KEY` - Flask secret key - `DEBUG` - Debug mode (True/False) - `SCHEDULER_ENABLED` - Enable/disable task scheduler (True/False) - `PORT` - Port to run the application on (default: 5000) ## 🌐 Development URLs - **Frontend**: http://localhost:3000 - **Backend API**: http://localhost:5000 ## 🔍 Troubleshooting ### Common Issues #### 1. ENOENT Error: no such file or directory **Problem**: Running npm commands from the wrong directory **Solution**: Always run npm commands from the project root directory where `package.json` is located ```bash # Check if you're in the right directory ls package.json # If not, navigate to the root directory cd /path/to/project/Lin ``` #### 2. Port Already in Use **Problem**: Port 3000 or 5000 is already in use **Solution**: Change ports or stop conflicting services **Command Prompt:** ```cmd # Check what's using port 3000 netstat -ano | findstr :3000 # Check what's using port 5000 netstat -ano | findstr :5000 ``` **PowerShell:** ```powershell # Check what's using port 3000 netstat -ano | Select-String ":3000" # Check what's using port 5000 netstat -ano | Select-String ":5000" ``` #### 3. Python/Node.js Not Recognized **Problem**: Python or Node.js commands not found **Solution**: Ensure Python and Node.js are added to your system PATH **Windows:** 1. Open System Properties > Environment Variables 2. Add Python and Node.js installation directories to PATH 3. Restart your terminal #### 4. Permission Issues **Problem**: Permission denied errors **Solution**: Run terminal as Administrator or check file permissions ### Windows-Specific Issues #### File Copy Commands **Command Prompt:** ```cmd # Copy frontend environment file copy frontend\.env.example frontend\.env.local # Copy backend environment file copy backend\.env.example backend\.env ``` **PowerShell:** ```powershell # Copy frontend environment file Copy-Item frontend\.env.example -Destination frontend\.env.local # Copy backend environment file Copy-Item backend\.env.example -Destination backend\.env ``` #### Python Installation Issues ```cmd # If pip fails, try using python -m pip cd backend python -m pip install -r requirements.txt ``` ## 📚 Additional Resources - [Windows Compatibility Guide](./test_windows_compatibility.md) - [Backend API Documentation](./backend/README.md) - [Frontend Development Guide](./frontend/README.md) ## 🤝 Contributing 1. Fork the repository 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ## 📄 License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. ## 🙏 Acknowledgments - Built with React, Flask, and Tailwind CSS - Powered by Supabase for authentication and database - LinkedIn API integration for social media management - Hugging Face for AI-powered content generation