From 4a25bd5912bb6b9a1a70b79cf757999f96b12e92 Mon Sep 17 00:00:00 2001 From: Subhodip Ghosh Date: Tue, 24 Feb 2026 12:03:02 +0530 Subject: [PATCH] create new api for drawing random marks --- src/routes/api/imageToStar.js | 51 +++++++++++++++++++++++++++++++++++ src/routes/v1/api.route.js | 6 +++++ 2 files changed, 57 insertions(+) create mode 100644 src/routes/api/imageToStar.js diff --git a/src/routes/api/imageToStar.js b/src/routes/api/imageToStar.js new file mode 100644 index 0000000..c91afb9 --- /dev/null +++ b/src/routes/api/imageToStar.js @@ -0,0 +1,51 @@ +const AWS = require('aws-sdk'); +const axios = require('axios'); +const mongoose = require('mongoose'); +const FormData = require('form-data'); +const Game = require('../../models/gameModel'); +const aiEvaluateImageToStar = async (req, res) => { + try { + const { childId, gameName, gameID, gameTime, gameStar, screenShot } = req.body; + if (!screenShot) { + return res.status(400).json({ error: 'Screenshot is required' }); + } + + // Upload screenshot + const formData = new FormData(); + formData.append('image', screenShot); + + const screenshotUploadResponse = await axios.post('https://teachertrainingchennai.in/api/uploadBase64/', formData, { + headers: { + ...formData.getHeaders(), + }, + httpsAgent: new (require('https').Agent)({ + rejectUnauthorized: false + }) + }); + + const screenshotUrl = screenshotUploadResponse.data.filePath; + // Generate random score between 1 to 10 + const randomScore = Math.floor(Math.random() * 10) + 1; // 1-10 range + + const gameData = new Game({ + gameName, + childId, + gameID, + gameTime, + gameStar: randomScore, + screenshotUrl, + }); + + await gameData.save(); + + return res.status(200).json({ + message: 'Game data saved successfully', + data: gameData, + }); + } catch (error) { + console.error('Error:', error.message); + return res.status(500).json({ error: error.message || 'Something went wrong' }); + } +}; + +module.exports = aiEvaluateImageToStar; diff --git a/src/routes/v1/api.route.js b/src/routes/v1/api.route.js index e139358..8322936 100644 --- a/src/routes/v1/api.route.js +++ b/src/routes/v1/api.route.js @@ -35,6 +35,7 @@ const getGameInfo = require("../api/getGameInfo"); const saveGalleryImage = require("../api/saveGalleryImage"); const getGalleryImage = require("../api/getGalleryImage"); const getGameData = require("../api/getGameData"); +const imageToStar = require("../api/imageToStar"); // const aiTest = require("../api/aiTest"); @@ -214,6 +215,11 @@ router.get("/ping", (req, res) => { getGameData(req, res); }); + // Image to Star + router.post("/imageToStar", (req, res) => { + imageToStar(req, res); + }); + // Get Drawing Game Gallery Image // router.post("/aiTest", (req, res) => { // aiTest(req, res);