Welcome To My World

Hi, I'm Samir Nayakawadi

Redux Toolkit

Based in Bharat.

Dedicated Full Stack Web Developer driven by a passion for transforming ideas into dynamic, user-centric solutions. My expertise spans the entire development process, from front-end aesthetics to back-end functionality. A relentless learner, I stay at the forefront of tech trends, ensuring every project showcases innovation and a commitment to excellence. Explore my portfolio for a glimpse into the seamless synergy of creativity and code.

Tailwind & DaisyUI

Crafting stylish UIs effortlessly with Tailwind and DaisyUI, every line of code contributes to a symphony of visual elegance

React & Redux

I engineer captivating UIs using React and Redux, transforming concepts into visually stunning, interactive experiences

Spring Boot, Express & MongoDB

Crafting robust APIs with Spring Boot, Express, Node, and MongoDB, I ensure seamless application functionality through a powerful combination of technologies.

My Awesome Service

Providing tailored web solutions from in-depth requirement analysis to secure backend development, ensuring seamless functionality and design excellence.

Requirement Analysis

Gather client requirements, ensuring a deep understanding of needs. This phase lays the foundation for a tailored web solution aligned with client expectations.

Planning Features

Strategically plan features based on gathered requirements, aiming for a cohesive and functional web application that meets both user needs and project goals.

Designing UI/UX

Create an intuitive user interface using Figma or basic layouts. Prioritize user experience, employing design principles to shape a visually appealing and user-friendly web environment.

Backend Development

Develop secure APIs using NodeJS/ExpressJS and MongoDB for efficient data handling. Lay the groundwork for a robust server-side, ensuring scalability and reliability in the backend infrastructure.

Frontend Development

Implement a dynamic UI with React and associated tools like Redux. Blend functionality seamlessly with design, creating an interactive and responsive user interface for an engaging web experience.

Testing, Fixing & Deployment

Rigorously test the web application for functionality, security, and performance. Identify and address any issues promptly, ensuring a bug-free and polished final product before deployment.

My Corporate Project

Online Assessment Tool

A flexible, one-stop solution for all types of online knowledge assessments. Enterprise technology. Explore our key features and much more.

Course Drive

Instructor can see all questions & quizzes in separate tabs under each topics. All the questions & quizzes created in topics will be displayed in course. Here instructor can create new question after choosing specific question type. In the same way, Instructor can create new quiz or else directly import the questions from excel through import editor. There is Delete button to delete the question or quiz.

Question Editors

Depending upon question type these question editors are selected. There are several tabs for each question. Like Question & Answers, Scoring, Feedback, Options, MetaData. These includes different values. Instructor can add question & answer related data in Question & Answer tab. Question Max Score can be added to Scoring tab. Correct Answer Feedback or Wrong Answer Feedback can be added to Feedback tab. Options shuffling can be selected from options tab. And question difficulty can be updated from metaData tab.

Quiz & Section Editor

Instructor can select the questions from Question Bank. And add multiple sections inside Test Structure. To add the question, Instructor needs to select the section from Test Structure. Also the questions in Question Bank are loaded depending upon the location selected from Course Drive. There are multiple tabs for Quiz Settings & Sections. You will see there are sub-tabs in question editor when you add them to Test Structure. These sub-tabs are named as Question & Quiz. The changes made in Quiz tab will be applied to Quiz & Not to the actual question.

Assign Editor

Here you will see the enrolled users list. This is fetched from the LMS API. Instructor can enter the email address associated to user to search them. Then instructor can select the user & add them to Assigned Users list. Here, The window displaying the date & time selection will be enabled. Here as name suggests, Instructor can change the assigned from & assigned to date. Also instructor can update the number of attempts & can also stop the specific learner to get the access. This can be done for multiple users at a time.

Import Editor

Here, you first need to select the location from course drive. Then the easy to understand instructions are given at the beginning of the editor. Instructor can download the excel template. Add questions as per the format & then import the excel through Question Importer by Selecting the file. The list of question will be show. Here instructor can also update the questions & resolve the issue if any. And finally Submit All the questions.

Quiz Delivery

Here, this tool allows to select the quizzes to learner, Then it verifies the the dates, time & number of allowed attempts. After this step, The learner can start the new exam. Then learner will be directed to the exam delivery. HEre there are multiple sections, like Sections, as per the sections, The questions list. And then the question area that includes the question & options. The learner can go to any question or section through navigation panel. The quiz will be automatically submitted as soon as the time is complete. If the quiz is practice quiz. Then, The learner will see even more options like feedback.

Safe Exam Browser

SEB can disable various system functions and keyboard shortcuts to prevent students from using features like copy-paste, printing, screen capture, external monitor or accessing system settings. SEB typically allows only one instance of the browser to run, and it restricts the opening of new tabs or windows. This ensures that the student remains within the confines of the exam environment.

My Educational Project

Online Printing System

Revolutionize your printing experience with this one-of-a-kind software, designed to streamline the photocopying and printing process while transforming into a convenient online marketplace for all your printing needs.

Overview

This is a web-based application that allows users to print documents online from any location. Users can upload PDF files, select a printing shop, pay online, and get notified when their documents are ready. Users can also manage their orders, wallet, and profile through the application.

Hassle Free

The application aims to digitalize the printing process and save time and money for users and vendors1. Users can compare prices and locations of different printing shops and choose the best option for them. Vendors can receive orders and payments online and reduce the hassle of manual operations.

Social Cause

The application also promotes social distancing and reduces the risk of virus transmission. Users do not need to use USB drives or share their contact details with vendors. They can also avoid waiting in queues and crowds at printing shops. They can simply pick up their documents whenever they want.

Multiple Applications

The application has potential applications in various sectors such as schools, colleges, private companies, and government offices. It can also be integrated with delivery services and embedded systems for more convenience and automation. It can help the society to be more productive and efficient.

My Corporate Project

Deploy Master

The tool that makes deployment much easy and flexible

The Problem

This project was created to ease the deployment of applications & services for multiple clients. In CDAC, We have multiple clients and each client can have multiple servers. The development, staging and the production servers. So, maintaining the builds becomes the challenge.

The Solution

By using this new technique, The single build can be used to all the different servers as well as different clients at the same time. This statement gets void only when you have new feature and for this you need to create a new build.

The Technique

I have added the fetch request to the React app. That gets executed when the app loads in the browser at very first time. Then It fetches the json from the file names data.json and updates the states using contextAPI. It disables all the routes until this request is successful using a single flag.

Data.json

The next step involves the maintaining & updating of the data.json. This is where this application (Deploy Master) comes in picture.

Features

It maintains the list of all the clients with their server variations (dev, staging, production). Each client has its own data.json. It can be viewed, downloaded, edited or deleted. The download two options. First is using command (supports linux or windows) that fetches the data.json directly to the /var/www or C:// folder. Second is direct file download. The client edior is created to make editing easy. It has multiple tabs (General, UI, Services, Time, Keycloak). And for any reason, You can delete this client too.

Tech Stack

This web application is build using MERN Stack. The frontend uses Vite React with Redux Toolkit for State Management along with Tailwind CSS + Daisy UI for few components. The backend uses Node & Express. And for the database, I have used MongoDB.

Deployment

The frontend is deployed at netlify.com, The backend is deployed at render.com and for database I am using MongoDB Atlas.

My Corporate Project

Project DIPTI

Directory of Indian Police Training Institutions - DIPTI

Project Details

This project was developed to fulfill a requirement from BPR&D for building a platform dedicated to police training institutions.

Requirements

BPR&D provided two Excel sheets containing unorganized institution details. They wanted these details to be used for creating and managing institutions on the platform.

Excel Organization

I created a well-structured Excel sheet that organized all details from the provided sheets. The original data was converted into this new, easy-to-navigate format.

Design

Since this was a new project, I focused on creating a clean, scalable design. For the frontend, I organized each feature into separate folders within /src, each with its own Redux state, reducers, handlers, and components. This modular approach greatly facilitated future updates. On the backend, I followed a standard Spring Boot structure, introducing a common JSON response format for all APIs.

Development

The project included two main features: Bulk Upload Institutions and Show Institutions.

Bulk Upload Institutions

This feature allows users to select a formatted Excel sheet, extract institution details in the browser, and submit the data to the backend for processing.

Show Institutions

This feature displays all institutions on a public dashboard with search, filtering, and pagination. Filters include state, CPO, and CAPF categories. Users can set the number of institutions per page, and a search feature enables quick lookup. Selecting an institution provides detailed information across 7-8 categories, each with 5-10 specific details. A 'Share Institution' feature is also available.

Highlights

The project emphasizes maintainability, with well-organized React and Spring Boot codebases to simplify future modifications. The UI uses a box layout, enabling scrolling only where needed rather than on the entire page.

Deployment

The frontend, built with Vite React, is deployed by copying the /dist folder contents to /var/www/ for Apache2. The backend is deployed as a Spring Boot .jar file, and MySQL is used for the database.

Corporate Project

Online Proctoring System

A proctoring tool integrated with an existing assessment platform to secure online exams.

Video Not Available

Overview

The online assessment tool has been successfully developed. The next challenge is integrating proctoring services to maintain exam integrity and prevent cheating.

Modules and Key Features

Several modules have been created to ensure comprehensive functionality. These include KYC, System Check, Learner Verification, Proctoring, Results & Evidence, and an Instructor Sample Checking Dashboard.

KYC (Know Your Customer)

The KYC module displays and confirms learner instructions, then captures image, audio, and video data. For enhanced security, an OTP Verification module is included. The KYC Status component tracks completion of each step and displays the overall KYC status.

System Check

This module tests the learner’s device camera and microphone. It performs advanced checks, sending data to the backend for verification using Machine Learning algorithms.

Learner Verification

In this module, the learner’s current image and audio are compared with their KYC image and audio. Upon successful verification, the learner can proceed to start or resume the exam.

Proctoring

Once previous steps are completed, the learner enters the exam where browser-based proctoring monitors the camera feed for potential cheating. Periodic backend proctoring further ensures browser integrity, while the Safe Exam Browser prevents browser tampering, securing the exam environment. This is a critical component of the system.

Evidence Capture

If cheating is detected during proctoring, the exam is halted and evidence is displayed on the results page.

I am currently available for freelance opportunities or any exciting offers that may align with my skills and expertise. You can reach me via phone at +911169650175 or by email at samnayakawadi@gmail.com. Alternatively, you may use the provided contact form to send a direct email. I look forward to connecting with you.

samnayakawadi | Download Resume
Made with ❤️ | Original Code | Checkout Github Repository