Sujoy Dutta

Front-End Developer

To obtain a front-end developer position that promotes creativity and growth in an environment that I can contribute my UI skills, technical skills, and design skills and continue to develop experience in a professional community. Software developer for 2+ years in the tech industry. Hands-on experience in developing React.js web-apps along with good CSS and Bootstrap. Good with Data Structures, Algorithms, and Problem Solving. Want to build products that can make a good impact on people’s lives.

Tech Skills

  • Frontend Technologies - JavaScript(ES6+, Promise, Closure), React.js, Redux.js, Redux-Thunk, Node.js, HTML5, CSS3, Bootstrap4, Material UI, Responsive web design, Webpack, Moment.js, JSON, AJAX, jQuery , Backbone.js(Basic), Gatsby.js, CORS
  • Back-end - Gradle, RESTfull API, JAVA, J2EE
  • Database - MySQL, MongoDB, Firebase
  • Tools & Technologies - Git, Github, Docker, Jenkins, Postman, Figma, ESLint Tool, Worked in an environment of Agile(Scrum), JIRA & Confluence, Atom, IntelliJ, Sublime, VSCode

Featured Projects

All my projects are found at Github. For more information please visit my Github repository - My Github Repos.

Real-time Chat Application

Screenshot of the project

Real-time Chat Application using Socket.io, React.js, Node.js & Express.js This Chat app allows users to create room and do real-time communication and send emojis to other people. It is based on web sockets that Socket.io uses internally. Tech Stack -
Server - It has all the backend packages like Node.js, Express.js, Socket.io, CORS middleware, and Nodemon server deployment
Client - It has all the frontend packages like React, React-router, react-emoji, query-string, and Socket.io Client
Deployment - The server is deployed using Heroku CLI The client is deployed using Netlify CLI

    Features of this app -
  • It shows the current users who are in the same room,
  • Send notifications when any user joins or left,
  • This chat app allows the entry of unique users for a single room For ex- if Joe is in room gamers he cannot join with the same name.
  • Responsive design can be used with any device
    Tech Stack -
  • React.js
  • Node.js
  • Express.js
  • React-router-dom
  • Socket.io
  • CORS middleware
  • Nodemon
  • react-emoji
  • query-string
  • Socket.io Client
  • react-scroll-to-bottom
  • Netlify
  • Heroku
    Future scope -
  • This app is currently session based and does not at any circumstances preserves or monitors the Chat done in any room
  • Will be connected to a database either FIrebase or MongoDB to save chats so that users can take a look at it
  • A column will be added to show all the users
  • The ability to add images, videos and docs
  • To add a variety of emojis more easily

This app is only a demonstration and not a real product.

View project in Github For Live Demo

Project Management Tool

Screenshot of the project

This app is a Project Management tool with authentication and cloud functionalities where users can create Projects, edit them, delete them, and keep a track of them all in one SPA. To build this I used React, Redux, React-Redux, Thunk, and Firebase. This app will have authentication(sign-up & sign-in) and features like Cloud security, Route Guarding, Cloud functions.
This SPA is built using many packages front-end was mostly consists of React, Materialize-CSS and Redux for state-management. But soon there was a requirement of asynchronous behavior, for such condition Redux-Thunk was used to allow asynchronous communication between the React app and the Firebase DB. Redux-Thunk is a middleware that is a function and unlike a regular function, it halts the dispatch just like ES6 Generators. It performs async requests and then resumes the dispatch after getting all the information or sending information. In most cases, external data is grabbed and passed to the reducers. The dates are formatted using Moment.js. All the pages are routed using a package called React-router-dom. The connection between React and Redux is made by using a package called React-Redux. Firebase packages like React-redux-firebase & Redux-firestore allows us to connect to the firestore and pull data from firestore and render it. The backend was mostly consists of Firebase - the database is a No-SQL Firestore DB, the server-side code was implemented by using Firebase Cloud Functions and authorisation and authentication of users was controlled by using Firebase Auth. The app is secured using Firebase Security rules and it is hosted using Firebase.
Tech Stack ----

  • Redux
  • React-redux
  • Redux-thunk
  • React-router-dom
  • Materialize-css
  • Firebase
  • React-redux-firebase
  • Redux-firestore
  • Moment.js
  • Cloud Functions
  • Firebase Auth
  • Firebase Security
  • Firebase Hosting

Future Scope -- This app will have authentication(sign-up & sign-in) and real-time notifications so anything happens like if you delete a project or create a new project or edit notification will be shown in the sidebar in real-time.

View project in Github For Live Demo

MERN-Exercise Tracking App

Screenshot of the project

A React app built with full fledge backend capabilities with Node.js, Express.js, MongoDB, mongoose and many more. The idea behind this app is that users can log there exercise time and each user can have one account and the users cannot have redundancy. The schema is simple it is based on the concept that one user can have more than one exercise but the repetition of the same user is not allowed thus every user is unique.

Front-end -
Front-end is primarily based on React.js and for routing purposes used React-Router. It has some unique features like the React-datepicker which gives the UI that amazing calender style date-picker that is usually found in high-end apps. To make it responsive I have used Bootstrap which also gives the bootstrap template look for the UI.
Connected both the front-end and the back-end using the Axios library -
In a nutshell, Axios is a Javascript library used to make HTTP requests from node. js or XMLHttpRequests from the browser that also supports the ES6 Promise API.
Back-end -
Back-end is based on Node.js as the base and on top of it used Express.js to build the server, used the CORS(Cross-Origin Resource Sharing) middleware which basically allows AJAX request to skip the same-origin policy and access resources from remote hosts. The cors package is an express middleware that can enable CORS with different options that are going to make something easily accessible outside of our server from our server. Apart from that used the dotenv package to secure the connection string and mongoose to connect the backend server to MongoDB. Also, used Postman for API testing purposes.
Tech Stack -
1.React.js 2.Node.js 3.Express.js 4.MongoDB 5.Mongoose 6.React-router 7.React-datepicker 8.Axios 9.Bootstrap 10.Postman
Future scope- Deploy the app and add user authentication and authorisation

View project in Github

Express.js Website

Screenshot of the project

An Express.js website in which you can submit your email address, name, and a short message and it will be send to your email id. Sometimes it may happen that Google may block the mail from reaching the inbox.
This project mainly focusses on Express.js, a web framework for Node.js. This project shows the working of Express.js and in addition to a few more technologies -

    Tech Stack -
  • Node.js
  • Express.js
  • Express Routing middleware
  • Pug(Jade) Templating Engine - It is an HTML templating engine
  • Nodemailer module - The Nodemailer module makes it easy to send emails from your computer. Use the username and password from your selected email provider to send an email.
  • Bootstrap for the responsive UI
View project in Github

GetWeather App

Screenshot of the project

Designed, created, and build a GetWeather React.js app that lets you find the weather of any city and give you all the relevant weather information in an interactive & responsive UI. To built the the App I used the create-react-app as base for the app changed the App.js and index.js files with my own and also changed the App.css and added 3 more components. Used latest Bootstrap for responsiveness where the grid system and flexbox(both used) came handy as well as the CSS3 media queries helped in positioning the content at different screen sizes. Moment.js is another handy tool used for date & time manipulation.
Following are the tools/lib/frameworks used-
1.React.js 2.Moment.js 3.Bootstrap 4.5.2 4.JavaScript(ES6+) 5.CSS3 6.HTML5 7.Webpack 8.Babel.js
Future scope- To use Google maps to get the local timezone, precipitation prediction, and some more information in improved UX where users can select what they want to know.

View project in Github For Live Demo

Youtube-clone

Screenshot of the project

This is a react web app which is technically a clone of the youtube. It has almost all the functionality of the youtube. This project demonstrates the power of React and react-roter. It is styled using Flexbox which handles the responsiveness and positioning of each of the components and Material-UI is used for getting the flat looking style that the original youtube has. This is hoisted using Firebase.

Tech Stack ---- React, React-router, Firebase, Material-UI, Flexbox, CSS3, HTML5 is used and also all the classnames used BEM_convention it is completely responsive also.
Future Scope -- Next I am planning to add user authentication feature using Firebase. Search page will be routed to some of the relevant pages and the ability to route to relevant videos will also be upgraded

View project in Github For Live Demo

Color-Guessing-Game

Screenshot of the project

A JavaScript color guessing game. This is a guessing game built with JavaScript where users have to guess the correct color from a color palette which matches to the RGB() color code displayed. It has two modes EASY and HARD choose which ever you want. The EASY mode consists of 3 boxes so the probability is high in choosing the correct color. The HARD will have 6 boxes and hence the probability is less in choosing the correct color.
Tech Stack ---- JavaScript, HTML5, CSS3 is used and it is responsive also.
Future Scope -- Next I am planning to upgrade to difficult levels and add a database to show case the scores. Also a score-keeper app will be added with this app to monitor the progress along with authentication to track users.

View project in Github For Live Demo! Have fun by playing it

Work Experience

1) Full Stack Developer

MetricStream Infotech Pvt. Ltd

Date at job - June 2019 - July 2020

M7 PROJECT - BUSINESS RULES

  • Roles and Responsibility - Developed as well as collaborated with different teams to built a centralized framework to define business logic which can be applied to an easy to understand UI/UX that improves configurability of GRC Applications.
  • Environment -> JavaScript, jQuery, HTML5, CSS3, Bootstrap, Node.js, Backbone.js
  • Description - Business Rules is a standard framework where user can write any rule on a component in groovy and it will execute it on the server as well as UI, it will validate the rule, detect cycles (using Direct Acyclic graphs – DAG), save it in ElasticSearch, execute it on server-side returning true or false, convert it to JavaScript and send to UI.
  • Roles and Responsibility - Developed complex features using JavaScript, Java, Hash Maps, and Regex that can do the relaxation of Special Characters in specific fields of MetricStream Web-based App by 65%, tested, and delivered 1 byte, and multi-byte special characters, and improved user experience by 46%.
  • Environment -> JavaScript, Java, Regex
  • Description - Analysis and building features for the relaxation of Special Characters ranging from 1 byte to multi-byte characters by using Regex, Java, JavaScript, and in-house API.
    Innovation Project -
  • Roles and Responsibility - Built and developed an ML/AI chatbot engine for the MetricStream Web App. The goal was to make a AI Chatbot that can detect and ressolve the causes of support issues.
  • Environment -> Python, Tensorflow
  • Description - Oddly detection, decision making, and Identifying the root cause for our support issues using trend analysis.

2) Project Engineer

Wipro Technologies

Date at job - July 2018 - May 2019

STATISTIC OUTPUT MANAGEMENT SYSTEM(SOMS)

  • Role – Software Developer
  • Duration - 11 months
  • Client - Zurich American Insurance
  • Description - My Project was on Enterprise Content Management (ECM). Content coming from Downstream is processed by us and then send to Upstream. I did Document generation with Papyrus tool, log connection, and construction of the input and response logs in SOMS for input request.

Education

Kalinga Institute of Industrial Technology - Bhubaneswar

  • July 2014 - April 2018
  • CGPA - 7.91