Prerequisites
Before you begin, ensure you have the following installed on your system:Node.js 18+
Required for running both frontend and backend
Docker
Optional, but recommended for containerized development
npm/yarn/pnpm
Package manager for installing dependencies
Git
For cloning the repository
This project uses Node.js 18 Alpine in its Docker configuration. We recommend using Node.js 18 or higher for local development.
Cloning the Repository
Installing Dependencies
The project has two separate directories with their own dependencies:client (React frontend) and server (Express backend).
Install frontend dependencies
Navigate to the client directory and install dependencies:This will install the following key dependencies:
- React 19.2.0
- React Scripts 5.0.1
- Testing Library packages (@testing-library/react, @testing-library/jest-dom)
- Web Vitals
Install backend dependencies
Navigate to the server directory and install dependencies:This will install the following key dependencies:
- Express 5.1.0
- CORS 2.8.5
Docker Setup (Optional)
If you prefer to use Docker for development:Environment Configuration
The application uses default configurations that work out of the box:Frontend Configuration
Frontend Configuration
The React app runs on the default Create React App development server:
- Port: 3000 (default)
- Hot reloading: Enabled
- Proxy: Not configured (CORS enabled on backend)
Backend Configuration
Backend Configuration
The Express server uses the following configuration:
- Port: 5000 (configurable via
PORTenvironment variable) - CORS: Enabled for all origins in development
- Environment: Uses
process.env.PORT || 5000
Next Steps
Running Locally
Learn how to run the application in development mode
Testing
Understand the testing setup and how to run tests