diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..5549fe1 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,55 @@ +const express = require("express") +const app = express() +const path = require("path") +const LoginModel = require("./mongodb") + + +app.post("/signup", async (req, res)=>{ + const data = { + email:req.body.email, + username:req.body.name, + password:req.body.pass + } + try { + await LoginModel.insertMany([data]) + // Render success or error page + res.send("Signup successful"); + } catch (error) { + console.error(error); + // Handle error and send appropriate response + res.status(500).send("Error signing up"); + } +}) + +app.post("/login", async (req, res) => { + try { + const check = await LoginModel.findOne({ username: req.body.name }); + + if (check && check.password === req.body.password) { + // Render home page or send success response + res.send("Login successful"); + } else { + // Send "Wrong password" response + res.send("Wrong password"); + } + } catch (error) { + try { + const check = await LoginModel.findOne({ email: req.body.email }); + + if (check && check.password === req.body.password) { + // Render home page or send success response + res.send("Login successful"); + } else { + // Send "Wrong password" response + res.send("Wrong password"); + } + } catch (error) { + // Send "Wrong username or email" response + res.send("Wrong username or email"); + } + } + }) + +app.listen(3000, ()=>{ + console.log("Port connected") +}) \ No newline at end of file diff --git a/src/mongodb.ts b/src/mongodb.ts new file mode 100644 index 0000000..8d913e2 --- /dev/null +++ b/src/mongodb.ts @@ -0,0 +1,31 @@ +const mongoose = require("mongoose") + +console.log("hello world") + +mongoose.connect("mongodb://localhost:27017/Finvis") +.then(()=>{ + console.log("Mongodb connected"); +}) +.catch(()=>{ + console.log("Failed to connect") +}) + +const LoginSchema = new mongoose.Schema({ + email:{ + type:String, + required:true, + unique:true + }, + username:{ + type:String, + required:true, + unique:true + }, + password:{ + type:String, + required:true, + } +}) + +const collection = new mongoose.model("collection1", LoginSchema) +module.exports=collection \ No newline at end of file