Skip to content

Instantly share code, notes, and snippets.

@fadihanna123
Created March 26, 2021 10:48
Show Gist options
  • Save fadihanna123/6914a79ad42a6db0cd8ef8a4c0f1b145 to your computer and use it in GitHub Desktop.
Save fadihanna123/6914a79ad42a6db0cd8ef8a4c0f1b145 to your computer and use it in GitHub Desktop.
import "./config/database";
import UserRoutes from "./api/AuthRoutes";
import { server } from "./config/GlobalSettings";
server.use(UserRoutes);
const port: number = 5000;
server.listen(port, () =>
console.log(` \n Server started on port ${port} \n `)
);
// Settings file
import cors from "cors";
import express from "express";
import morgan from "morgan";
import { server } from "../config";
server.use(express.json());
server.use(express.urlencoded({ extended: true }));
server.use(cors());
server.use(morgan("dev"));
// API
const upload = multer({ dest: "/uploads/" });
router.post("/upload", upload.single("img"), async(req, res, next) => {
console.log(req.file);
})
// Model
import { Model, model, Schema } from "mongoose";
import { X } from "../typings";
const UsersSchema: Schema = new Schema(
{
img: { type: String },
},
{ collection: "X" }
);
export const Users: Model<X> = model<IUsers>(
"X",
UsersSchema,
"X"
);
// Frontend
const registerUser = async (): Promise<void> => {
try {
setLoading(true);
const { data } = await axios.post<IRegisterData>(
"register",
registerForm, {headers:{"Content-Type": "application/json"}}
);
setMsg(data.message);
} catch (err) {
setError(err.message);
} finally {
setLoading(false);
}
};
<form encType="multipart/form-data" method="post">
<div className="registerbox">
<div className="registerrow">
<div className="registercol">
<label htmlFor="uname">X: </label>
</div>
<div className="registercol">
<input
type="text"
id="uname"
value={registerForm.uname}
onChange={typer}
name="uname"
required
className="txtinput"
/>
</div>
</div>
<div className="registerrow">
<div className="registercol">
<label htmlFor="email">X: </label>
</div>
<div className="registercol">
<input
type="email"
id="email"
value={registerForm.email}
onChange={typer}
required
className="txtinput"
name="email"
/>
</div>
</div>
<div className="registerrow">
<div className="registercol">
<label htmlFor="mobnr">X: </label>
</div>
<div className="registercol">
<input
type="text"
id="mobnr"
value={registerForm.mobnr}
onChange={typer}
className="txtinput"
name="mobnr"
/>
</div>
</div>
<div className="registerrow">
<div className="registercol">
<label htmlFor="psw">X: </label>
</div>
<div className="registercol">
<input
type="password"
id="psw"
value={registerForm.psw}
onChange={typer}
required
className="txtinput"
name="psw"
/>
</div>
</div>
<div className="registerrow">
<div className="registercol">
<label htmlFor="repsw">X: </label>
</div>
<div className="registercol">
<input
type="password"
id="repsw"
value={registerForm.repsw}
onChange={typer}
required
className="txtinput"
name="repsw"
/>
</div>
</div>
<div className="registerrow">
<div className="registercol">
<label htmlFor="img">Img: </label>
</div>
<div className="registerspeccol">
<input
type="file"
id="img"
value={registerForm.img}
onChange={typer}
accept="image/*"
required
name="img"
/>
</div>
</div>
<button type="button" className="btn" onClick={registerUser}>
X
</button>
</div>
</form>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment