Java Problem Statements For Assessment

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

www.erpdata.

in

Java Problem Statements for Assessment.


Problem Statement 1: Employee Management System

Overview:

You are tasked with creating a full-stack web application that serves as an Employee Management
System (EMS) for a medium-sized company. The application should provide a user-friendly interface that
allows HR staff to manage employee records, including personal details, job information, and
performance data. The system should be secure, scalable, and easy to maintain.

Technical Requirements:

• Frontend:

i. Develop the frontend using Angular, ensuring it is responsive and works across
modern browsers.
ii. Create a dashboard for HR staff to view a summary of employee data.
iii. Implement CRUD (Create, Read, Update, Delete) operations for employee
records.
iv. Include form validation and error handling to ensure data integrity.
v. Use Angular services to handle API requests.

• Backend:

i. Develop the backend using Spring Boot and Java.


ii. Create RESTful APIs to handle frontend requests for employee data
management.
iii. Use Spring Security to implement authentication and role-based authorization
(with at least two roles: HR and Manager).
iv. Ensure that the API is protected from common security threats (e.g., SQL
injection, XSS).
v. Use Spring Data JPA for database interactions and Hibernate for ORM.

• Database:

i. Design a relational database schema to store employee information.


ii. Use MySQL or any other relational database for data storage.
iii. Ensure data validation at the database level with appropriate constraints.

• Testing:

i. Write unit tests for backend logic using JUnit and Mockito.
ii. Write integration tests for API endpoints.
iii. Implement end-to-end tests for critical workflows in the frontend.

QUNTBIT TECHNOLOGIES PVT LTD | www.quantbit.io| contact@erpdata.in | +91 9665598341 1


www.erpdata.in

• Deployment:
i. Containerize the application using Docker for easy deployment.
ii. Write necessary scripts or use a tool like Docker Compose to facilitate local
development and testing.

• Documentation:

i. Create API documentation using Swagger or a similar tool.


ii. Provide a README file with setup instructions and usage guides.

User Stories:

a. As an HR staff member, I want to log in to the EMS with secure credentials so that I
can access employee data.
b. As an HR staff member, I want to add new employee records to the system so that
new hires are tracked.
c. As an HR staff member, I want to update existing employee records so that their
information stays current.
d. As an HR staff member, I want to delete employee records when employees leave
the company.
e. As an HR staff member, I want to view a list of all employees and search for specific
employees based on criteria like name, department, and job title.
f. As a Manager, I want to log in to the EMS and view employee data related to my
department.

Deliverables:

i. Source code for the frontend and backend.


ii. Database schema and any migration scripts.
iii. Docker configuration files.
iv. Test suite with coverage reports.
v. API and system documentation.

QUNTBIT TECHNOLOGIES PVT LTD | www.quantbit.io| contact@erpdata.in | +91 9665598341 2


www.erpdata.in

Problem Statement 2: Personal Blogging Platform

Objective:

Develop a Personal Blogging Platform where users can sign up, create, edit, and delete their blog posts.
The platform should have a user-friendly interface and provide basic functionalities to manage blog
content.

Technical Stack:

• Frontend:

i. Utilize the Angular framework to develop the front-end application.


ii. Implement forms for user registration, login, and blog post management with
validation and user feedback.
iii. Use Angular Router to handle navigation between different components such as the
homepage, user profile, and blog editor.
iv. Apply Angular services to communicate with the backend APIs.

• Backend:

i. Build the backend services using Spring Boot and Java.


ii. Create RESTful APIs for user authentication, registration, and blog post operations
(CRUD).
iii. Implement JWT-based authentication to secure the API endpoints.
iv. Use Spring Data JPA for database operations, and Hibernate as the JPA implementation
for ORM.

• Database:

i. Design and set up a MySQL database to store user credentials and blog posts.
ii. Ensure proper relationships between users and posts are established in the database
schema.

• Testing:

i. Write unit tests for backend services using JUnit.


ii. Conduct basic integration tests for API endpoints to ensure they are functioning as
expected.

• Deployment:

i. Prepare the application for deployment, with environment-specific configurations.

Features:

• User Authentication:

QUNTBIT TECHNOLOGIES PVT LTD | www.quantbit.io| contact@erpdata.in | +91 9665598341 3


www.erpdata.in

i. Allow users to sign up with a username, email, and password.


ii. Enable users to log in and log out of the platform.

• Blog Management:

i. Permit authenticated users to create new blog posts with a title and content.
ii. Allow users to view their own list of blog posts.
iii. Enable editing and deleting of their blog posts.

• User Interface:

i. Create a simple and clean layout for listing blog posts and user interactions.
ii. Include error handling and display user-friendly error messages.

Deliverables:

i. Source code for the frontend Angular application and the backend Spring Boot
application.
ii. SQL scripts for database schema creation.
iii. Unit and integration tests with documentation on how to execute them.
iv. A README file with instructions on how to set up and run the application locally.

QUNTBIT TECHNOLOGIES PVT LTD | www.quantbit.io| contact@erpdata.in | +91 9665598341 4


www.erpdata.in

Problem Statement 3: Personal Blogging Platform

Objective:

Develop a Personal Blogging Platform where users can sign up, create, edit, and delete their blog posts.
The platform should have a user-friendly interface and provide basic functionalities to manage blog
content.

Technical Stack:

• Frontend:

i. Utilize the Angular framework to develop the front-end application.


ii. Implement forms for user registration, login, and blog post management with validation
and user feedback.
iii. Use Angular Router to handle navigation between different components such as the
homepage, user profile, and blog editor.
iv. Apply Angular services to communicate with the backend APIs.

• Backend:

i. Build the backend services using Spring Boot and Java.


ii. Create RESTful APIs for user authentication, registration, and blog post operations
(CRUD).
iii. Implement JWT-based authentication to secure the API endpoints.
iv. Use Spring Data JPA for database operations, and Hibernate as the JPA implementation
for ORM.

• Database:

i. Design and set up a MySQL database to store user credentials and blog posts.
ii. Ensure proper relationships between users and posts are established in the database
schema.

• Testing:

i. Write unit tests for backend services using JUnit.


ii. Conduct basic integration tests for API endpoints to ensure they are functioning as
expected.

• Deployment:

i. Prepare the application for deployment, with environment-specific


configurations.

Features:

• User Authentication:

QUNTBIT TECHNOLOGIES PVT LTD | www.quantbit.io| contact@erpdata.in | +91 9665598341 5


www.erpdata.in

i. Allow users to sign up with a username, email, and password.


ii. Enable users to log in and log out of the platform.

• Blog Management:

i. Permit authenticated users to create new blog posts with a title and content.
ii. Allow users to view their own list of blog posts.
iii. Enable editing and deleting of their blog posts.

• User Interface:

i. Create a simple and clean layout for listing blog posts and user interactions.
ii. Include error handling and display user-friendly error messages.

• Deliverables:
i. Source code for the frontend Angular application and the backend Spring Boot application.
ii. SQL scripts for database schema creation.
iii. Unit and integration tests with documentation on how to execute them.
iv. A README file with instructions on how to set up and run the application locally.

QUNTBIT TECHNOLOGIES PVT LTD | www.quantbit.io| contact@erpdata.in | +91 9665598341 6


www.erpdata.in

Problem Statement 4: Task Management System

Objective:

Develop a simple Task Management System (TMS) that allows users to organize and keep track of their
tasks. Users should be able to register, log in, create tasks with deadlines, mark tasks as completed, and
delete tasks.

Technical Stack:

• Frontend:

i. Use Angular to build the client-side application.


ii. Implement forms for user registration and login.
iii. Create interfaces for task display, task creation, and task updates.
iv. Use Angular services to interact with the backend API.

• Backend:

i. Use Spring Boot with Java to create the backend services.


ii. Design RESTful APIs for handling user authentication, task CRUD operations, and user
management.
iii. Employ Spring Security for securing endpoints and managing user sessions.
iv. Integrate Spring Data JPA for database operations with Hibernate for object-relational
mapping.

• Database:

i. Utilize an H2 in-memory database for development, with the option to switch to a more
persistent database like MySQL or PostgreSQL for production.
ii. Design the database schema to include tables for users and tasks with a one-to-many
relationship between them.

Features:

• User Registration and Authentication:

i. Enable new users to register with a username, email, and password.


ii. Allow registered users to log in and maintain a session.

• Task Management:

i. Allow logged-in users to create new tasks with titles, descriptions, and deadlines.
ii. Enable users to view a list of their tasks, filter by completion status, and sort by deadline.

QUNTBIT TECHNOLOGIES PVT LTD | www.quantbit.io| contact@erpdata.in | +91 9665598341 7


www.erpdata.in

iii. Provide the ability for users to edit task details or mark tasks as complete.
iv. Give users the option to delete tasks they have created.

Deliverables:

i. Complete source code for the Angular frontend and Spring Boot backend.
ii. Database schema and initial seed data for testing purposes.
iii. Automated test suite for backend API endpoints.
iv. Basic documentation on API usage, project setup, and steps to run the application.

QUNTBIT TECHNOLOGIES PVT LTD | www.quantbit.io| contact@erpdata.in | +91 9665598341 8

You might also like