Get Started in Minutes
This guide will help you set up PhotoFlow from scratch and create your first task. By the end, you’ll have a fully functional Kanban board running on your local machine.This quickstart focuses on local development. For production deployment, see the Docker deployment guide.
Prerequisites
Before you begin, ensure you have the following installed:- Node.js (version 20 or higher) - Download here
- PostgreSQL (version 15 or higher) - Required for data storage
- Git - For cloning the repository
Installation Steps
Clone the Repository
Clone PhotoFlow to your local machine:
Alternative: Download ZIP
Alternative: Download ZIP
If you prefer not to use Git:
- Visit the PhotoFlow GitHub repository
- Click the green “Code” button
- Select “Download ZIP”
- Extract the ZIP file to your desired location
- Navigate to the extracted folder in your terminal
Install Dependencies
Install all required Node.js packages:This will install all dependencies including:
- SvelteKit framework
- Prisma ORM
- Socket.io for real-time sync
- All UI components and utilities
Configure Database
Create a Adjust the connection string based on your PostgreSQL setup:
.env file in the project root with your PostgreSQL connection string:.env
photoflow- database usernamephotoflow_password- database passwordlocalhost:5432- database host and portphotoflow- database name
Initialize Database
Create the database schema using Prisma migrations:This command will:
- Create the
photoflowdatabase if it doesn’t exist - Generate the database schema (tasks and comments tables)
- Create the Prisma client for type-safe database access
Build the Application
Build PhotoFlow for production:This compiles your SvelteKit application and optimizes it for performance.
Start PhotoFlow
Launch the application with network access enabled:You should see output similar to:
The
--host flag is crucial - it allows other PCs on your network to access PhotoFlow. Without it, only your local machine can use the application.Create Your First Task
Now that PhotoFlow is running, let’s create your first task:Fill Task Details
In the modal that appears, enter:
- Task name - e.g., “Wedding Photography - Smith Family”
- Description - Additional details about the order
- Due date - When the task should be completed
- Status - Current status of the task
Development Mode (Optional)
If you want to modify PhotoFlow and see changes in real-time:Verify Real-Time Sync
To test Socket.io synchronization:- Open PhotoFlow in two different browser windows
- Create or move a task in one window
- Watch it update automatically in the other window - no refresh needed!
Next Steps
Explore the Kanban Board
Learn about drag-and-drop workflows and column management
Configure Network Setup
Set up multi-PC access for your team
Import Existing Data
Migrate your existing orders via CSV import
Deploy with Docker
Set up a production-ready environment
Troubleshooting
Database connection failed
Database connection failed
Ensure PostgreSQL is running:Verify your
DATABASE_URL in .env matches your PostgreSQL configuration.Port 4173 already in use
Port 4173 already in use
Another application is using port 4173. Either:
- Stop the other application
- Change the port in
svelte.config.js - Use a different port:
npm run preview -- --port 3000 --host
Cannot access from other PCs
Cannot access from other PCs
Make sure you:
- Used the
--hostflag when starting the server - Have the correct Network URL (shown in terminal output)
- Your firewall allows incoming connections on port 4173
Prisma migration errors
Prisma migration errors
If migrations fail:
Getting Help
If you encounter issues not covered here:- Check the Installation Requirements
- Review the Database Setup guide
- Open an issue on GitHub
- Contact the maintainer at [email protected]