Status: Evaluating bids

Resolver ejercicios java con explicacion

Project details:
Budget: Open
Published: 11 months ago
Deadline: Not defined
Bids: 1
Interested freelancers: 1

Skills required: IT & Programming Java

Resolver y explicar todos los ejercicios

OOP Exercises
Design a building like a house and provide a builder to build it.
Design a hospital and provide classes to build it (builder, factories, etc).
Key Points:



Commit your practice code.

→ index

Topic 1: Design Patterns (3 days)

Design Patterns Card

Refactoring to Patterns Catalog


Create a ShoppingCart where a user can buy different items and then decide how to pay them:

by Credit Card: where a Name and a Credit Number is required.

by Paypal: where an email and a password is needed.

Cash: no information is required.

Add the following discount depending on the payment type

10% by Credit Card.

The cheapest item is for free when the user pay by Paypal.

90% of the most expensive item is free if the user pays by Cash.

Create a counter to provide unique sequential numbers and use it to set an identification to each payment transaction.

Add functionality to display information about the list of items. The item should be displayed as:

Item Name ....... $ price
Add an offer that includes other individual items or other offers. Take into account that when an offer is displayed, it should say:

Offer Name ....... $ price

Item Name ...... $ price
Add a mailist List where the market manager is notified when:

A new item/offer is added

A price is changed

A new transaction was made

Audio Player: Modelate an application for listening music. You can play, stop and pause tracks.

Topic 2: Maven


(It is assumed that Maven is already installed and working. I think it is not needed as an excercise to install maven locally).

Create a simple Maven project:
Here, the idea is to use the Maven Archetype plugin from the command line. Run the archetype:generate goal, selecting default archetype suggested by pressing "Enter". Create a simple a simple application that takes a name from console and print a greeting using the given name.
Building a Simple Project:
Create, compile, test, and install the Maven project created on the previous point. To prove that this program works, run it from the command line.
Customizing a Maven Project Expand the project created on point 2. The idea is to start playing with adding some dependencies, adding some source code, and customizing the project to suit specific needs.
A Simple Web Application
A Multi-module Project. Create a multi-module project that combines work done on previous points (2 and 5). The idea when completing this point is to be able to use Maven to develop complex, multi-module projects.
Key Points:



Commit your practice code.

→ index

Topic 3: Test Driven Development (2 day)


Convert an amount on a check to appropiate text. For example:

2523.04 --> Two thousand five hundred twenty-three and 04/100 dollars
Develop a word-wrapping algorithm, which is given a string and a row-length, returns a list of word-wrapped rows. For example:

If the row-length is 60 and the input string is 30, the result is just the input string
If the row-length is 7 and the input string is "Hello Word!", the result should be: "Hello", "Word!"
If the row-length is 3 and the input string is "a b c d e f", the result should be "a b", "c d", "e f"
If the row-length is 5 and the input string is "Excelent", the result should be "Excel", "ent"
Use TDD to create the 'Recent file list' behaviour. Some examples of this behaviour is:

When the program is run for the first time, the list is empty.
When a file is opened, it is added to the recent file list.
If an opened file already exists in the recent file list, it is bumped to the top, not duplicated in the list. *If the recent file list gets full (typical number of items is 15), the oldest item is removed when a new item is added.
Create a Roman Number conversion (both ways, either int to Roman or Roman to int). All rules can be found on wikipedia: Roman numerals.

American Soundex: This algorithm encodes words using a phonetic algorithm that promotes convergence of similar-sounding words. For more information about algorithm please read American Soundex. Create a function to return the proper soundex code.

Using TDD techniques such as mocking, faking and stubs, try to develop your own blog software featuring:

Post new entry
Delete existing entry
Update existing entry
Show 10 most recent entries
Tag an entry
Show all tags
Show blog entry with a certain tag
And so on...
Key Points:



Topic 4: Services (3 days)


Create a shopping cart API spec
Implement the previous shopping cart using TDD.
Document endpoints
Design a UserService for CRUD operations.
Implement and document previous UserService.
Add a uploadPhoto to the UserService
Add friends and likes (photos) to previous UserService.
Note: you can choose any endpoint documentation standard. As an example you can use the twitter format

Note 2: Do not implement JPA or ORM. Services should return in memory data only.

Key Points:


Topic 5: SQL - MySql (1 day)


MySql basis

Jdbc basis

Optimizaciones en MySql


Create a database named 'high-school' and modelate:

Student: first name, last name, registration number, date of birth)
Teacher: first name, last name, date of birth)
Course: name, assigned teacher, hours by week, schedule time (they can be dictated several times during the week)

An student can assist several courses during the same year.
A teacher can be assigned to several courses.
For each course, each student has 3 partial notes and a final note.
Create all relationship that you think they are required

Insert information for 3 teachers, 5 courses and 20 students per course
List students and teachers for a given course. The output format should be:

Teacher: ,
, (ordered by alphabetically by last name)
List final course notes for a given student (the input should be the registration number). They should be ordered by highest notes and course name)

Percentage of students that passed/failed a given course.
For a given teacher, list the timeline for each course that he is assigned to (ordered by date), and the course name. The format should be:

Teacher: ,
Monday 09:00 - 11:00:
Monday 15:00 - 17:30:
Friday 08:45 - 10:40:
Identify and Optimize all queries

Create a table for students that have more than 1 partial note with a value less than 7. The table should contain the following information:
Student name
Course name
Average Note
Add a new column to the previous table (assigned teacher) and update it with the proper information.
Delete the oldest teacher (courses assigned to her should be empty).
Key Points:


Topic 6: Spring Core & REST (3 day)


Expose the shopping cart created in the topic 4.
Create a REST API to create, update and remove meetings. Note that a meeting has attendees, room and a time slot. Attendees and rooms exists in the system and must be retrieved by an endpoint to create the meeting. You must provide the following features: create meetings, query existing ones, cancel and update meetings.
Key Points:


Topic 7: ORM (1 day)

Configure Spring ORM to connect to the DB created on Topic 5.
Implement JPA objects for the entities you created on Topic 5.
Create one or more DAO or repository with methods to:
Store a student, teacher and course.
Fetch all students, fetch all teachers, fetch all courses.
Create a method to fetch all courses of a given student.
Create a method to fetch all students of a given course.
Key Points:


Topic 8: Spring Data & MongoDB (2 day)


SQL to MongoDB Mapping Chart

Installing MongoDB

Getting Started With MongoDB

Java And MongoDB

Spring and Mongo

Spring boot and MongoDB


Using the same SQL-MySql data model, map it to the corresponding database, collections and documents.
Fetch all students whose notes in a specific course were greater than 4.
Fetch all courses ordered by name for a given teacher.
Add a new field to “courses” collection to identify which courses are finished.
Create a new project using Spring Data for MongoDB framework and translate items 2, 3 and 4.

Final Project

Create a functional shopping cart (just REST api). The minimum features to be completed are:

User registration and login.
Buy products.
Save Cart.
Find products by category and name.

Categoría: IT & Programación
Subcategoría: Otro
Es un proyecto o una posición?: Un proyecto
Disponibilidad requerida: Según se necesite
Do you need more information about this project?

Create your own project

Are you looking for a freelancer to work on a similar project? Create your own project and you'll receive proposals from the best freelancers.

Create a similar project


Fernando C.
(Rating 0.00 out of 5)
Location: Argentina
To find out more about this client, login to Workana.