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:
- Read each record from the dataset.
- Complete all required fields in the PeopleSync form.
- Register the employee.
- Verify that the registration was added successfully.
- 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:
- Access the monthly exchange rate query.
- Automatically iterate through each month and year within the requested period.
- Extract:
- Date.
- Buying exchange rate.
- Selling exchange rate.
- Consolidate the information into a single CSV or Excel file.
- 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:
- Connects to the Lichess API.
- Retrieves a configurable number of games from a user.
- Transforms the information into a Pandas DataFrame.
- Generates statistics on:
- Results.
- Rating.
- Color.
- Game mode.
- Creates visualizations of the main results.
- Exports the data and statistics to CSV files.
Part B — Tournament Automation
Develop a program that:
- Connects to the Lichess Tournament API using authentication.
- Defines a weekly tournament schedule.
- Automatically configures the date, time, game mode, duration, and variant.
- Creates the tournaments through the API.
- Skips tournaments whose scheduled start time has already passed.
- Includes a simulation mode (
dry-run).
- 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:
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:
- Whether the script can run correctly outside VS Code, Jupyter, or CMD.
- Whether the task is correctly configured in Task Scheduler.
- Whether the correct Python interpreter is being used.
- Whether file paths are correctly configured.
- Whether the process can run without manual intervention.
- Whether the execution generates the corresponding files, logs, or results.
- 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.
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.
General Information
Deadline: August 26, 2026
Repository submission:
https://docs.google.com/spreadsheets/d/1CdYa-YDoPvhCm1MvD1j7ISDLRvByqbQLgn1I42dLTyY/edit?usp=sharing
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:
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 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
WebDriverWaitinstead oftime.sleep()whenever possible.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:
Technical Considerations
WebDriverWaitwhenever possible.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:
Part B — Tournament Automation
Develop a program that:
dry-run).Technical Considerations
Deliverables
The following deliverables apply to the entire project:
Presentation
You must submit a single video of up to 9 minutes covering all three projects.
For each project, briefly explain:
Additional Requirements
PeopleSync and SUNAT
Lichess
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:
Evaluation Criteria
Part 1 — PeopleSync
Part 2 — SUNAT
Part 3 — Lichess
Total Score
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:
Innovation must represent a meaningful improvement beyond the minimum requirements of the assignment.