A full-stack application with a React client frontend and Node.js server backend.
vidspark/
├── client/ # React client application using Vite
│ ├── src/ # Client source code
│ └── package.json # Client dependencies
├── server/ # Node.js server application
│ ├── src/ # Server source code
│ └── package.json # Server dependencies
└── package.json # Root package.json for running both applications
Before you begin, ensure you have the following installed:
Follow these steps to set up and run the project for development:
git clone https://github.com/yourusername/vidspark.git
cd vidsparkYou can install all dependencies (root, client, and server) with a single command:
npm run install-allAlternatively, you can install dependencies separately:
# Install root dependencies
npm install
# Install server dependencies
cd server
npm install
# Install client dependencies
cd ../client
npm installCreate the necessary environment files:
For the server:
cd server
cp .env.example .envFor the client (if required):
cd client
cp .env.example .envEdit the .env files to include your specific configuration details.
From the root directory, you can run both the client and server concurrently:
npm run devThis will start:
- Client on: http://localhost:5173 (using Vite)
- Server on: http://localhost:3000 (or as configured in your server)
You can also run each application separately:
# Run only the client
npm run client
# Run only the server
npm run servernpm run dev: Runs both client and server in development modenpm run client: Runs only the client in development modenpm run server: Runs only the server in development modenpm run install-all: Installs dependencies for root, client, and server
cd client
npm run buildThe built files will be in the client/dist directory.
cd server
npm run buildThe compiled JavaScript files will be in the server/dist directory.
- React
- Vite
- TypeScript
- Radix UI components
- ESLint for linting
- Node.js
- TypeScript
- Express.js
- Prisma ORM
- ts-node-dev for development
If you make changes to your Prisma schema:
cd server
npm run prisma:generate # Generate Prisma client
npm run prisma:migrate # Run migrationsFor more detailed documentation, please refer to:
- Client Documentation (if available)
- Server Documentation (if available)
Port conflicts: If you encounter port conflicts, you can modify the ports in:
- Client:
vite.config.ts - Server:
.envfile or directly in your server configuration
Database issues: Make sure your database is running and accessible with the credentials provided in your server's .env file.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the ISC License - see the LICENSE file for details.