This repository contains the final project for the course "Introduction to HTML, CSS, & JavaScript" as part of the IBM AI Developer Professional Certificate on Coursera.
The portfolio website project serves as the culmination of the course, demonstrating proficiency in web development fundamentals including HTML, CSS, and JavaScript. The website showcases various projects, skills, and experiences.
To view the portfolio website, click here.
To view the Simple Interest Calculator website, click here.
There was some learning made through the class labs that only works within the private lab environment due to Watson AI libraries and APIs. Therefore, most exercises can't be run on a local machine; therefore, I started to track them on Jupter notebooks.
Notebook1 Using PyLint for the first time. Notebook2 Using UnitTestig for the first time.
- Check Python Version and Install Flask: Verified the Python version and installed Flask 2.2.2, setting up a basic server.py.
- Create Flask Routes: Created basic routes in Flask, including a simple route returning "hello world".
- Run Flask Server: Explained how to run the Flask server using flask --app server --debug run and tested it with curl.
- Set Response Status Codes: Demonstrated how to set HTTP response status codes in Flask routes.
- Handle JSON Responses: Showed how to return JSON responses from Flask routes and handle JSON data in requests.
Task 1: Writing Mathematical Functions:
* Created a mathematics.py script with functions to add, subtract, and multiply two values.
* Followed steps to set up the project directory, cloned a repository, and created the Maths directory.
Task 2: Unit Testing:
* Developed unit tests for the mathematical functions using Python's unittest framework.
* Verified the correctness of the summation, subtraction, and multiplication functions.
Task 3: Integrating with Flask:
* Created a Flask application to expose the mathematical functions as web APIs.
* Set up routes in Flask for each mathematical operation and returned results in JSON format.
Task 4: Dockerizing the Application:
* Wrote a Dockerfile to containerize the Flask application.
* Built and ran the Docker container, ensuring the Flask API is accessible.
Task 5: Deployment:
* Discussed deploying the Dockerized application to a cloud service.
* Included steps for pushing the Docker image to a container registry and deploying it to a cloud platform.
Overview: Developed a fully functional CRUD (Create, Read, Update, Delete) web application using Flask. Created a financial transaction recording system capable of performing all CRUD operations.
Objectives:
- Implemented the "Create" operation to add new transaction entries.
- Implemented the "Read" operation to access and display the list of transaction entries.
- Implemented the "Update" operation to modify existing transaction details.
- Implemented the "Delete" operation to remove transaction entries from the system.
- Implementation Steps:
Set up Flask routes for each CRUD operation. Created HTML templates for different endpoints to handle user interactions. Managed HTTP requests and responses to ensure proper CRUD functionality.
Overview: Developed an AI-based web application using Watson AI libraries to perform sentiment analysis on provided text. Deployed the application over the web using the Flask framework.
Tasks and Objectives:
- Task 1: Cloned the project repository.
- Task 2: Created a sentiment analysis application using the Watson NLP library.
- Task 3: Formatted the output of the application.
- Task 4: Packaged the application.
- Task 5: Ran unit tests on the application.
- Task 6: Deployed the application as a web application using Flask.
- Task 7: Incorporated error handling.
- Task 8: Ran static code analysis to ensure code quality.
Scenario:
- Developed an AI-based web application for an e-commerce company to perform analytics on customer feedback, specifically emotion detection from text.
Introduction:
- Assessed on the knowledge gained throughout the course, including app creation and web deployment.
- Required to save and upload screenshots of results for peer grading.
Project Overview:
- Created an emotion detection application using embeddable Watson AI libraries.
- Extended the concept of sentiment analysis to detect specific emotions expressed in customer feedback.
Tasks and Objectives:
- Implemented core functionalities for detecting emotions in text.
- Developed a web interface using Flask to interact with the AI model.
- Deployed the application on the web, ensuring it is accessible and functional.
- Incorporated error handling and ran static code analysis to ensure code quality.