Skip to content

HW_01_202602 #181

Description

@The-Paul2002

Integrative Project: Automation, APIs, and Data Analysis

Total value: 20 points

This integrative project consists of three independent challenges designed to apply knowledge of Python, process automation, web scraping, API consumption, data analysis, and automated application execution.

Each part has its own score and will be evaluated independently. The three projects will be presented through a single video.

Innovation: Points earned for innovation are additional to the 20 points of the project. These points may be accumulated for the next assignment or used as participation points.


General Information

Deadline: August 26, 2026

Repository submission:
https://docs.google.com/spreadsheets/d/1CdYa-YDoPvhCm1MvD1j7ISDLRvByqbQLgn1I42dLTyY/edit?usp=sharing

Each student must register their corresponding GitHub repository in the document.


1. RPA Automation — PeopleSync Income Registration

Value: 7.5 points

Context

A web form (PeopleSync HRIS) has been deployed to simulate the registration of new employees.

You must develop an RPA bot using Python + Selenium to automate the registration process based on an input dataset.

Form:
https://the-paul2002.github.io/Proyecto-IA-/Homework1/

Dataset: 50 employee records

Google Sheets:
https://docs.google.com/spreadsheets/d/1EjaoSJKdzdUBNF3XJZuTlxA21D-0vy0wkGaMR8wHVgs/edit?usp=sharing

Objective

Automate the complete registration of the 50 employees provided in the input dataset, following this workflow:

  1. Read each record from the dataset.
  2. Complete all required fields in the PeopleSync form.
  3. Register the employee.
  4. Verify that the registration was added successfully.
  5. Repeat the process until all 50 records have been completed.

If the data does not match or a record contains inconsistent or invalid information, load only the records that successfully match the required criteria and continue processing the remaining records. Do not stop the entire process because of individual errors.

At the end of the execution, the final log must clearly display:

  • The total number of records processed.
  • The number of records successfully loaded.
  • The number of records that could not be loaded.
  • The details of each failed record, including the record identifier and the reason for the error.

The process must continue until all 50 records have been attempted, regardless of individual errors.
6. Execute the entire process without manually reloading the page.

Technical Considerations

  • Solve technical challenges encountered during the automation independently.
  • Use WebDriverWait instead of time.sleep() whenever possible.
  • Keep paths and parameters configurable.
  • Avoid hardcoded data.
  • The script must be executable outside the development environment.
  • The process must be capable of running automatically through Windows Task Scheduler.

2. Web Scraping — Official SUNAT Exchange Rate

Value: 7.5 points

Context

SUNAT publishes official information on the buying and selling exchange rates used in Peru.

Official source:
https://e-consulta.sunat.gob.pe/cl-at-ittipcam/tcS01Alias

Objective

Develop a bot that automatically extracts the exchange rate from January 2024 through the current month, consolidating all the information into a single dataset.

Scope

The process must:

  1. Access the monthly exchange rate query.
  2. Automatically iterate through each month and year within the requested period.
  3. Extract:
    • Date.
    • Buying exchange rate.
    • Selling exchange rate.
  4. Consolidate the information into a single CSV or Excel file.
  5. Properly identify and handle days without published rates, holidays, or missing data.

Technical Considerations

  • Solve technical challenges related to automating the website independently.
  • Use WebDriverWait whenever possible.
  • Avoid sending queries excessively quickly or consecutively.
  • Keep the date range configurable.
  • Avoid unnecessary hardcoded data.
  • The script must be executable outside the development environment.
  • The process must be capable of running automatically through Windows Task Scheduler.

3. Lichess API — Data Analysis and Automation

Value: 5 points

Context

Lichess provides an API that allows users to retrieve game information and automate different platform features.

This section focuses on API consumption, data analysis, visualization, and automation.

Part A — Game Analysis

Develop a program that:

  1. Connects to the Lichess API.
  2. Retrieves a configurable number of games from a user.
  3. Transforms the information into a Pandas DataFrame.
  4. Generates statistics on:
    • Results.
    • Rating.
    • Color.
    • Game mode.
  5. Creates visualizations of the main results.
  6. Exports the data and statistics to CSV files.

Part B — Tournament Automation

Develop a program that:

  1. Connects to the Lichess Tournament API using authentication.
  2. Defines a weekly tournament schedule.
  3. Automatically configures the date, time, game mode, duration, and variant.
  4. Creates the tournaments through the API.
  5. Skips tournaments whose scheduled start time has already passed.
  6. Includes a simulation mode (dry-run).
  7. Handles API errors without stopping the entire execution.

Technical Considerations

  • Information must be obtained through the Lichess API.
  • The username and number of games must be configurable.
  • Use Pandas for data processing and analysis.
  • Use Matplotlib for visualizations.
  • Implement appropriate error handling and account for API rate limits.
  • Organize the code using reusable functions.
  • Credentials must be kept secure and must not be included directly in public repositories.

Deliverables

The following deliverables apply to the entire project:

  • Own GitHub repository containing the three projects, clearly organized.
  • README.md with instructions for configuring and running each project.
  • Python scripts corresponding to each part.
  • Output files generated by the projects.
  • Execution logs when applicable.
  • Evidence that each solution works correctly.
  • Windows Task Scheduler configuration for the RPA and Web Scraping projects.
  • Evidence that the RPA and Web Scraping scripts can be executed automatically through Task Scheduler.
  • A single video of up to 9 minutes presenting all three projects.

Presentation

You must submit a single video of up to 9 minutes covering all three projects.

For each project, briefly explain:

  • The problem it solves.
  • How the solution works.
  • The main technical decisions.
  • The challenges encountered and how they were solved.
  • A demonstration of the solution working.

Additional Requirements

PeopleSync and SUNAT

  • Demonstrate the automatic execution through Windows Task Scheduler.

Lichess

  • Demonstrate the analysis performed and the tournament automation through the API.

You do not need to spend exactly 3 minutes on each project. The 9 minutes are the maximum total duration of the video.


Automated Execution — Windows Task Scheduler

The RPA (PeopleSync) and Web Scraping (SUNAT) projects must be configured to run through Windows Task Scheduler.

The evaluation will consider:

  1. Whether the script can run correctly outside VS Code, Jupyter, or CMD.
  2. Whether the task is correctly configured in Task Scheduler.
  3. Whether the correct Python interpreter is being used.
  4. Whether file paths are correctly configured.
  5. Whether the process can run without manual intervention.
  6. Whether the execution generates the corresponding files, logs, or results.
  7. Whether the student can demonstrate the process working during the presentation.

Important: Creating a Task Scheduler task alone is not sufficient. You must demonstrate that Windows can successfully launch the script and that the script completes its execution correctly.


Evaluation Criteria

Part 1 — PeopleSync

Criterion Points
All 50 records are completed correctly 3.5
Organized and documented repository and code 1.5
Technical presentation 2.0
Innovation +extra
Total 7.5

Part 2 — SUNAT

Criterion Points
2024–current historical data correctly extracted and consolidated 3.5
Organized and documented repository and code 1.5
Technical presentation 2.0
Innovation +extra
Total 7.5

Part 3 — Lichess

Criterion Points
API integration and data retrieval 1.0
Data processing and analysis with Pandas 1.0
Visualizations and data export 0.75
Tournament automation through the API 1.5
Code organization, error handling, and security 0.5
Technical presentation and documentation 0.25
Innovation +extra
Total 5.0

Total Score

Project Points
PeopleSync — RPA 7.5
SUNAT — Web Scraping 7.5
Lichess — API and Automation 5.0
TOTAL 20.0 points

Innovation

Innovation is evaluated as an additional bonus and is not part of the 20 base points.

Innovation points may be accumulated and used later as:

  • Additional points for the next assignment.
  • Participation points.
  • Other activities defined by the instructor.

Innovation must represent a meaningful improvement beyond the minimum requirements of the assignment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions