This project is a screen capture application that periodically takes screenshots, stores them using a Node.js and Express backend, and displays them using a React frontend integrated with Electron for desktop applications.
The objective of this project is to evaluate the skills of a MERN stack developer through the creation of an application that periodically captures screenshots. The application consists of a backend to store the screenshots, a frontend to display them, and a desktop application to capture and send the screenshots.
- Periodically capture screenshots
- Store screenshots in MongoDB
- Display screenshots in a React frontend
- Integrated with Electron for desktop functionality
- WebSocket support for real-time updates
- MongoDB
- Express.js
- React.js
- Node.js
- Electron
- WebSocket
Make sure you have the following installed on your system:
- Node.js
- npm or yarn
- MongoDB
-
Clone the repository:
git clone https://github.com/yourusername/screen-capture-app.git cd screen-capture-app/backend
-
Install backend dependencies:
npm install
-
Create a
.env
file in thebackend
directory and add your MongoDB URI and screenshot limit:MONGO_URI=mongodb://localhost:27017/screenshotApp SCREENSHOT_LIMIT=100
-
Start the backend server:
npm start
-
Navigate to the
react-with-electron
directory:cd ../react-with-electron
-
Install frontend dependencies:
npm install
-
Start the Electron app:
npm run electron:serve
The .env
file is used to configure the backend settings. Create a .env
file in the backend
directory with the following content:
MONGO_URI=mongodb://localhost:27017/screenshotApp
SCREENSHOT_LIMIT=100