Multiple project Ideas for Hands-on Experience Across Technologies
Courses Launch & Management Project
ABC courses is looking to launch it’s one page website which can let the customers know about
- Their company
- About the category of the courses they can offer
- All the courses under each category
- Pricing of each course
- Duration of each course
- Next upcoming start date for each course
- Eligibility criteria of each course
Key Features
- Each category should always be visible on the page
- Expand/collapse features of courses under each category.
- One pager application must have the logo of ABC courses brand.
- A sticky navigation menu which can have “Jump To” sections on the same page.
- Each course should have a register button which should open a popup form.
Pop-up form features
- Should collect basic user details like email, name, why are they interested into the course
- Submitting the details should display a thank you message on the same pop-up
- Closing the pop-up should return back to the main application page.
- Choose a color scheme and be consistent
- Choose a font for headings and content and be consistent
This project can be done in:
- HTML, CSS, JS
- React
- Node
User Management for ABC S/W
ABC software is looking to create an employee registration application for it’s employees.
- Use HTML & CSS to create a beautiful registration form.
- Use JAVA Script to do all key validations.
- Employee registration form should include following fields and corresponding validations.
- Each field validate should show up as soon as the cursor leaves that field.
- User should be able to move to next field only after filling the previous one successfully and in right way.
- After submitting, user should be shown all the entered details along with a confirmation button.
- Once confirm, details should be saved. There is no need to connect to database, it can be just saved in local storage.
- There should be a cancel button as well on confirmation page, if the user presses cancel, they should be redirected to the filled form to edit the same.
-
Field
Type
Validations
Comments
Email
Text Field
Mandatory
Must have abc.com
No user should be able to register again with same email address
Department
Drop Down
Mandatory
IT, HR, Finance, Sales can be used as drop down values.
Country
Drop Down
Mandatory
India, USA, UK can be used as drop down values.
State
Drop Down
Mandatory
State drop down should be populated based on the country selected.
Populate state drop down with few names per country.
Name
Text Field
Name should not be AAAA and other such characters. Same character should not repeat more the 2 times.
Mandatory
Phone
2 Text Field
Mandatory
Validate only numbers
Validate the length based on the country
For example: If country is selected as India then it should be 10.
Populate the country code in the first field based on the country selected.
For example: If country is selected as India, it should populate +91
Weather Widget Project
Accu Weather is looking to provide a latest weather widget to it’s users. They already have a website with multiple web pages and the widget needs to be available on all the pages.
Features:
- Weather widget should be available on all pages.
- Widget should expand with a click.
- When expanding it should show the weather depending on current location.
- There should be a drop down to change the location.
- Updated weather should be shown based on the changed location.
- Use HTML and CSS to design a good widget screen.
- Color tones of the widget should change based on the weather.
- For example: Use light orange background for a sunny weather.
- Use light blue for a rainy one.
- Use grey for a cloudy weather.
- The widget should be collapsed when user closes it.
- In collapsed state, Location and Weather Indication should show. Example: BLR-Sunny-29C
- In expanded state, the widget should show: Date, time, day, nice background as mentioned above depending on the weather, temp, rain forecast, wind, humidity etc.
- You should use open source weather APIs which are already available to get the weather.
- Errors should be handled. For example: if the weather API is not responding, delayed response from the API, does not have the weather for a location, a proper error message should be shown to the user.
This project can be done using:
- HTML + CSS + JS
- React & JAVA
- Node
Dynamic Product Widget Project
ABC corp. is looking to launch it’s new product range and it’s looking to develop a dynamic product page on it’s existing website. You need to design a product landing page. Features:
- Create a 2 column layout for the page, which is around 30-70%.
- Left pane should show various categories of the products. Categories of the products are:
- Shoes: Subcategory – Running Shoes, Casual, Formal
- Apparels: Subcategory – Male, Female, Children, Infants
- Wrist Watch: Subcategory – Male, Female
- Clicking on a particular category should dynamically populate all products of that category in right pane grouped by subcategories.
- Each product detail should include:
- Product image & price.
- There should be an option to increase the quantity of the product for each.
- Add to Cart button should be there for each product.
- User should be able to increase or decrease the quantity of the product before adding to the cart.
- Cart icon and number of products should always be visible on the page.
- Clicking on the cart should show all the products added in the cart dynamically in the right pane.
- All products, details and cart can be stored in local storage. We are not looking to do DB operations if done using JAVA script.
Digitizing Exam Process Project
Hype College is looking to automate the examination system along with declaring results.
The college is from class 1 to 3rd standard, there are 20 students in each class. Each standard has only 3 subjects which are
- General Knowledge
- EVS
- Mathematics
You need to store the marks of each student per subject. Marks should be stored till 2 decimal numbers.
To find the topper student per subject per class
- Round off the number of each student
- Identify the winner per subject
To find out class topper
- Add the marks of all 3 subjects without rounding off
- Round off the total number
- Student with max marks per class should be topper.
Other key hints
- Marks of each student per subject are confidential and should not be accessible individually.
- Marks can be stored in array and data type should be private.
- This project should be a good example of using different data types and static blocks in JAVA.
Currency Conversion Widget Project
Quick finance manages the finances of it’s individual customers. Their customer base is expanding and they want to start paying their customers in different currencies. They are looking for an application which can help them do the currency valuations accordingly.
- They need an option to store the conversion metrics. For now, they will be paying in INR, US Dollars and Euros.
- Irrespective of the type of the payment and amount, the conversion metrics does not change. Calls for static??
Features:
- They need a simple web interface which has
- Current Amount
- Current Currency selection drop down
- Target currency selection drop down
- Both current and target amount should maintain currency till at least 3 floating numbers.
- Clicking on submit should show the target amount
- User can choose to round off the target amount. New rounded off amount should be displayed on the same screen without refresh.
This project is a good example to use different data types and typecast in JAVA or similar languages.
Digitizing Book Business
ReadWell book store is planning to digitize it’s operations. They offer 2 key services to their customers:
- Selling the books directly to the customers
- Giving the books on rent as well
As a first step, a database of books need to created:
- Each book needs to be categorized, example: Fiction, Technical, Non-Fiction, Activity, Short Stories etc.
- Each book needs to have a definitive pricing.
- Author of the book
- Details of the book
- Reviews
Readwell already has the details of the customers like phone number, email id and name as they were using that to send marketing messages for any new launches, holiday offers, special discounts etc. They want to use this customer base for auto registration obviously after the consent of the user.
As a second step, a email needs to be sent to all existing customers asking a confirmation for auto register.
Third step will be:
- After confirmation, user name, phone number, email id needs to be entered in the database.
- A email needs to be sent to the user to set the password, validate and update the profile.
- In update profile page:
- User should be able to update any details except email address.
- User should be able to enter the delivery address
- User should be able to provide a secondary email address
- User should be able to provide a secondary phone number
- Now registered users should be able to order the books
- Validations
- User will not be able to order more than 2 copies of the same book
- User ratings should be validated before these are published.
- User should not be able to provide more than one rating of the same book
- User should be able to book only single copy of a book when renting
- User should be able to provide the rating for the books which they have bought
- User will not be able to provide the ratings for rented books
Fourth Step will be:
- User can login, add books for buying with above validations
- All the books added should show up in the shopping cart
- User should be able to edit the cart
- User should be able to edit their delivery address
- Checkout and Payment options
- Free delivery for the books which are bought
Fifth Step will be:
- User can login, add books for rent
- Only one copy of per book for rent
- Delivery for the rented books are charged
- Delivery charges are flat 50 INR for up-to 10 books.
- Pick up charges are also for flat 50 INR up-to 10 books.
- There is no partial pick up ones the time for rent is over. It’s either all books or late fee for all.
- Once delayed, the user need to pay late charges for 5 days which is 100 INR flat. Delay is always grouped for each 5 days.
- Delivery and pick up address remains same, pick up address cannot be changed.
- Pick up charges need to be paid ahead while ordering. Hence the charges are rent + delivery fee + pick up fee
- Late fee need to be paid later based on the delay. This is must pay before next order (buy or rent)
- Rent charges are flat 10% of the cost of the book.
- Books for rent need to be in perfect condition.
- No wear and tear, highlights, marks, name on the rented books are accepted.
- The pick-up person needs to examine all the books and refuse pick up in case of wear and tear
- The duration for rent is 5 days.
This is a large project with many features and more can be introduced. It can be used as group project and could be a final year one.