Assignment: Development of a Secure E-
Commerce Platform with Microservice
Architecture using MERN Stack
Overview
We expect the applicant to build an E-Commerce platform that features both seller and
buyer sides. The platform will be built using a microservices architecture, with a strong
emphasis on advanced user security management. The primary objective is to ensure that
access control and communication between different services are handled securely and
efficiently. Immediate revocation of user access to certain parts of the platform, upon
admin discretion, is a critical feature requirement.
Project Goals:
1. Microservices Architecture: Design and implement microservice architecture that
supports both the buyer and seller ecosystems.
2. Secure User Management: Develop a robust user security management system
that efficiently manages user permissions and access control, ensuring users can
only access data and functionalities relevant to their role.
3. Dynamic Access Control: Implement a system where user access can be
immediately revoked by an admin, ensuring that the user loses access to specific
parts of the platform without delay.
4. MERN Stack: The entire platform must be developed using MongoDB, Express.js,
React.js, and Node.js. Familiarity with these technologies is essential.
5. Communication Between Services: Ensure secure and efficient communication
between the various microservices, employing best practices in API development
and data exchange.
6. User Experience: Design and implement a user-friendly interface for both buyers
and sellers, ensuring a seamless and intuitive interaction with the platform.
7. Testing and Security: Incorporate comprehensive testing methodologies to ensure
the application’s security, performance, and reliability.
Deliverables:
1. Architecture Design Document: A detailed document outlining the microservices
architecture, including service decomposition, data management strategy, and
security measures.
2. Security Plan: A document detailing the security mechanisms for user
management, including authentication, authorization, and access revocation
procedures.
3. User Interface Designs: Little relaxation can be taken on making the UI, generic UI
with understandable interface is fine.
4. Code Repositories: Try to maintain a good file structure throughout the repository
and commit messages.
Candidate Requirements:
1. Proficiency in MongoDB, Express.js, React.js, and Node.js.
2. Experience in designing and developing applications with a microservices
architecture.
3. Strong understanding of security protocols, authentication, authorization, and
secure coding practices.
4. Ability to design intuitive and responsive user interfaces.
5. Familiarity with continuous integration/continuous deployment (CI/CD) processes.
6. Excellent problem-solving skills and attention to detail.
Assignment: Development of an E-
Commerce Website with Integrated
Payment Services
Overview
We expect the developer to construct a sophisticated E-Commerce website facilitating
both seller and buyer interactions, structured upon a microservices architecture. A
significant component of this project involves integrating a secure, efficient payments
service using Java Spring Boot, supporting transactions via Stripe and PayPal. The
application’s deployment should leverage Docker, ensuring consistency across
development, testing, and production environments.
Project Objectives:
1. Microservices Architecture: Develop the platform with a microservices
approach, ensuring scalability and flexibility for future enhancements.
2. Payment Integration: Implement a reliable payment service using Java Spring
Boot, integrating both Stripe and PayPal to offer users multiple payment options.
3. Docker Utilization: Employ Docker for deploying the application, to facilitate
easy scalability, quick deployment, and to ensure a uniform environment across all
stages of development.
4. Secure Transactions: Ensure all payment transactions are secure and comply
with international payment processing standards.
5. User-Friendly Experience: Craft intuitive and engaging interfaces for both
buyers and sellers, enhancing user satisfaction and engagement.
Deliverables:
1. System Architecture Design: A comprehensive architecture plan detailing the
microservices structure, focusing on the separation of the payment service.
2. Payment Service Documentation: Detailed documentation of the payment
integration process, including setup instructions for Stripe and PayPal, and how
transactions are managed securely.
3. Docker Deployment Guide: A guide explaining the Docker setup, including the
Docker file(s) and docker-compose files used, justifying why Docker is essential for
this project’s deployment strategy.
4. User Interface Prototypes: Prototypes of the user interfaces for both the buyer
and seller sides, ensuring ease of navigation and transaction processing.
5. Code Repository: Access to the well-organized and commented code
repository, showcasing adherence to best coding practices.
Candidate Requirements:
1. Strong experience in Java Spring Boot, with a focus on building secure, scalable web
applications.
2. Proven track record of integrating payment gateways like Stripe and PayPal.
3. Proficiency in Docker for application packaging and deployment.
4. Knowledge of microservices architecture and its deployment in cloud
environments.
5. Ability to design user-friendly web interfaces, enhancing the overall user
experience.
6. Familiarity with security standards and protocols relevant to e-commerce and
payment processing.
Assignment: Development of an ML-
Powered Font Recognition Model
Overview
We expect the Developer to develop a font recognition model capable of analyzing images,
detecting text regions, and identifying the fonts used within these regions. This project
requires the model to accurately recognize different fonts from an image input, where the
image may contain text in multiple fonts. The model should output the detected text
alongside the identified font for each text box identified within the image.
Project Objectives:
1. Text Detection: Implement text detection within images to identify text boxes
accurately.
2. Font Recognition: Develop a machine learning model that can identify the font
used in each detected text box, even if multiple fonts are present within a single
image.
3. Model Training and Evaluation: Train the model with a diverse dataset that
includes various fonts and text orientations. Evaluate the model's accuracy and
efficiency in font recognition.
4. User Interface for Model Testing: Create a simple user interface or a script
that allows users to upload images for font recognition, displaying the detected text
and the corresponding font(s).
Deliverables:
1. Model Development Report: A comprehensive report detailing the approach
taken to develop the text detection and font recognition model, including the
algorithms and technologies used.
2. Code and Documentation: Well-documented code for the model, including
notes on how to set up, train, and execute the model. Include comments explaining
critical sections of the code for clarity.
3. Dataset Description: An overview of the dataset(s) used for training and testing
the model, including the rationale for dataset selection and any preprocessing
steps performed.
4. Performance Evaluation: A detailed analysis of the model's performance,
including metrics such as accuracy, precision, and recall in font recognition across
different image conditions.
5. Demo Application: A demo application or script with a user-friendly interface
for testing the model with new images, including instructions for use (the UI can be
minimalistic)
Candidate Requirements:
1. Proficiency in AI/ML technologies, particularly in the areas of image processing and
deep learning.
2. Experience with computer vision libraries (e.g., OpenCV) and deep learning
frameworks (e.g., TensorFlow, PyTorch).
3. Ability to preprocess and manage image data effectively for machine learning
applications.
4. Creativity in model architecture design, with a focus on achieving high accuracy and
efficiency in font recognition.
5. Strong problem-solving skills and attention to detail, with a commitment to
delivering high-quality, functional code.
Assignment: Development of a Ticket
Booking Platform with Real-Time
Notification System
Overview
We expect the developer to create a ticket booking platform that caters to both event
organizers and audience members. The core of this project is to efficiently manage
concurrent ticket bookings while providing a fast and robust notification system.
Candidates are encouraged to use technologies such as Redis, Kafka, or any other suitable
services to achieve high performance and scalability. The frontend must be developed with
React, reflecting a strong preference for a MERN stack, though flexibility in the choice of
backend technologies is allowed. The focus is on functionality and performance, with UI
design being a secondary concern.
Project Goals:
1. Microservices Architecture: Implement a scalable and flexible microservices
architecture to support the ticket booking and notification functionalities.
2. Concurrent Booking Management: Develop a ticket booking system capable of
handling high volumes of concurrent requests without performance degradation or
data inconsistencies.
3. Real-Time Notification System: Create a fast and reliable notification system to
inform users about important events such as booking confirmations, event
updates, and more.
4. Technology Flexibility: While the frontend must use React, candidates can choose
the most appropriate technologies and services (e.g., Redis, Kafka) for the backend
and other components to optimize performance and scalability.
5. Web Application Focus: The solution must be a web application.
Deliverables:
1. Architecture Design Document: A detailed description of the chosen
microservices architecture, including the rationale behind the selection of
technologies and services.
2. Concurrent Booking Strategy: Explanation of the mechanisms implemented
to manage concurrent bookings, highlighting how issues such as race conditions
and data inconsistencies are addressed.
3. Notification System Design: Overview of the notification system architecture,
including the choice of technologies, communication protocols, and strategies for
ensuring real-time performance.
4. Frontend and Backend Code: Well-documented and structured code
repositories for all components of the platform, with a clear emphasis on coding
best practices and system scalability.
5. Testing and Deployment Instructions: Comprehensive guidelines on how to
deploy the application, including any Docker containers, Kubernetes
configurations, or other deployment tools and platforms used.
Candidate Requirements:
1. Proficiency in React for front-end development, with a strong understanding of
responsive design principles.
2. Experience with microservices architecture and the development of scalable web
applications.
3. Familiarity with technologies suitable for real-time data processing and notification
delivery (e.g., Redis, Kafka).
4. Ability to tackle challenges related to concurrent data processing and booking
management.
5. Strong problem-solving skills and attention to detail, with a focus on delivering a
high-performance and reliable platform.
Assignment: Development of a Student
Administration Portal with Enhanced
UI/UX Using Framer and Spline
Overview
We expect the UI/UX developer with expertise in Framer and a passion for incorporating 3D
elements into web design. The project involves creating a student administration portal for
school management, allowing for the input, update, and visualization of student data
including academic records, physical measurements, contact information, and health
details. The initial design will be crafted in Figma and then brought to life using Framer,
with Spline being used to add captivating 3D elements to the interface.
Project Goals:
1. Figma Design: Create a comprehensive Figma design for the student
administration portal, focusing on usability, accessibility, and seamless navigation.
2. Framer Development: Import the Figma design into Framer, utilizing its full
range of features to enhance the interface with interactive elements, animations,
and a dynamic user experience.
3. 3D Elements with Spline: Integrate 3D elements into the UI using Spline,
aiming to make the portal more engaging and visually appealing without
compromising performance or usability.
4. Responsive Design: Ensure the portal is fully responsive and accessible on a
wide range of devices, from desktops to tablets and smartphones.
5. User Testing: Conduct user testing sessions to gather feedback and iterate on
the design and functionality, ensuring the portal meets the needs of school
management effectively.
Deliverables:
1. Figma Design Files: The complete Figma design files for the student
administration portal, including all screens and states.
2. Framer Project: A fully functional Framer project that brings the Figma designs
to life, incorporating interactive elements and animations.
3. 3D Design Elements: Integration of 3D elements created with Spline,
documented with instructions on how they were incorporated and interacted with
within the portal.
4. Prototype and Testing Report: A report detailing the user testing process,
feedback received, and iterations made to the design and functionality.
5. Deployment Guide: Guidelines for deploying the prototype, including any
necessary environment setup and dependencies.
Candidate Requirements:
1. Proven experience with UI/UX design, specifically with Figma for creating initial
designs and Framer for developing interactive prototypes.
2. Skills in using Spline to create and integrate 3D elements into web interfaces.
3. Strong understanding of responsive web design principles and best practices in
user experience design.
4. Ability to conduct user testing, analyze feedback, and iterate on designs to improve
usability and user satisfaction.
5. Creative thinking and problem-solving skills, with a keen eye for detail and a
passion for creating engaging user interfaces.