Loading repository data…
Loading repository data…
Jaweki / repository
This project solution is an Online voters system purposely created to be used by university students. The project was built using (React)Next.js template, Next Auth, Cloudinary and MongoDB integration, and Typescript. The system allows users to login or register (as either students, professor, or Admin). Login process is quite simple and intuitive.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
This project solution is an Online voters system purposely created to be used by university students. The project was built using (React)Next.js template, Next Auth, Cloudinary and MongoDB integration, and Typescript. The system allows users to login or register (as either students, professor, or Admin). Login process is quite simple and intuitive, with auto role detection, for viewing intended users voters page. Read more to understand the solution at my GitHub repository: https://github.com/Jaweki/online-students-voting-system
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
To see specific project dependancies, take a look at the package.json file in the root folder.
Open http://localhost:3000 with your browser to see the result.
This project uses next/font to automatically optimize and load Inter, a custom Google Font.
While this project was a great opportunity to sharpen my web development skills, the following skills were newly learnt:
const uploadImage = async () => {
if (file) {
try {
const formData = new FormData();
formData.append("file", file);
formData.append("upload_preset", "upload_folder");
const response = await fetch(
"https://api.cloudinary.com/v1_1/cloud-name/image/upload",
{
method: "POST",
body: formData,
}
);
const data = await response.json();
return data.secure_url;
} catch (error) {
console.error("Error uploading image: ", error);
alert("Error Uploading image!");
}
}
};
handling a Drag and drop on a html div element, which receives the image. view code
Above all, the most interesting part of the project was designing and implementing the users config file document that is saved in the db. This was key especially when it comes to keeping track of votes a user paticipated in. view mongoose schemas.
This project is still under scheduled development. The following details will be implemented:
Stay tunned for this updates soon.
To begin with, am proud to have been able to complete and delive the mvp of this web app project. The University lecturers at Zetec university appreciated my solution, and recommended i develop it fully for it to be used by students.
More to that, great thanks to AbdiRhamman Khalif Mohamed a student at Zetec university, who reach out to ask for a prototype of the initial designed system. With his co-operation we choose the right theme for the web app, user interactivity and responsiveness and people loved it.
To learn more about Next.js, take a look at the following resources:
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out the Next.js deployment documentation for more details.