DataEntryAutomation
No description available
Install / Use
/learn @nithya333/DataEntryAutomationREADME
VTU Internship Diary Automation Tool
Disclaimer: This tool is developed strictly for educational purposes to demonstrate API automation and Python scripting. It is not intended to bypass security measures, spam servers, or violate the terms of service of the target platform. Use responsibly and ensure all data submitted is accurate and verified.
Overview
This tool automates the process of filling out daily internship diary entries on the VTU Internyet portal. Instead of manually clicking through the calendar and typing entries one by one, this tool reads a CSV file containing your logs and uploads them via the portal's API.
Project Structure
To run this tool, ensure the following three files are in the same folder:
main.exe(The automation application)config.json(Configuration settings like login tokens)data.csv(Your diary entries)
Step 1: Prepare Your Data (data.csv)
Create a CSV file named data.csv. The tool expects a specific structure. The headers must match exactly.
Required CSV Headers:
date, description, hours, links, blockers, learnings, mood_slider, skill_ids
Example Row:
date,description,hours,links,blockers,learnings,mood_slider,skill_ids
2025-08-25,"Orientation and Onboarding...",8,,,,"Learned company hierarchy",5,"[63]"
2025-08-26,"Worked on backend API...",8,"http://link-to-pr",,,"Learned about REST",5,"[69, 1]"
Note: For skill_ids, use the format [id1, id2] (e.g., [63] or [69, 1]). See the complete list of valid skill IDs below.
Step 2: Configure the Tool (config.json)
You need to tell the tool who you are. This requires grabbing your session cookie and internship ID from the browser.
How to get your Credentials (The "Network Tab" Method)
- Open Chrome or Edge and go to the VTU Internyet diary page.
- Press F12 (or right-click -> Inspect) to open Developer Tools.
- Click on the Network tab in the Developer Tools panel.
- Manually fill and submit one diary entry on the website.
- Look for a new entry in the Network list named
store(orinternship-diaries/store). - Click on it and look at the Headers tab on the right.
What to copy:
- Cookie: Scroll down to "Request Headers" and find
Cookie. Copy the entire string (it usually starts with_ga=oraccess_token=). - Internship ID: Click the Payload (or Request) tab next to Headers. Look for
internship_id(e.g.,10133).
Update config.json:
Open config.json with Notepad and paste your values:
{
"url": "https://vtuapi.internyet.in/api/v1/student/internship-diaries/store",
"cookie": "PASTE_YOUR_LONG_COOKIE_STRING_HERE",
"internship_id": 99999,
"csv_filename": "data.csv",
"min_sleep": 2,
"max_sleep": 5
}
Cookie Copy-Paste Issue
When copying the cookie from the browser, you may encounter an access_token error. This usually happens when:
- The cookie string gets truncated during copy-paste
- Special characters in the
access_tokenorrefresh_tokenare not properly copied - The token has expired (tokens typically expire after a few hours)
Solution: Make sure to copy the complete cookie string including all tokens. If you get a 401 error, refresh the page, submit a new entry manually, and copy the fresh cookie.
Step 3: Run the Automation
- Double-click
main.exe. - The console will open and verify your files.
- It will process entries one by one, showing a for success or for failure.
- If you see 401 Unauthorized errors, your cookie has expired. Repeat Step 2 to get a fresh cookie.
Valid Skill IDs Reference
Below is the complete list of valid skill IDs from the VTU portal. Use these IDs in the skill_ids column of your CSV:
| ID | Skill Name | ID | Skill Name | |----|------------|----|----| | 1 | JavaScript | 44 | Data modeling | | 2 | PHP | 45 | Indexing | | 3 | Python | 46 | TCP/IP | | 4 | Laravel | 47 | DHCP | | 5 | CakePHP | 48 | LAN | | 6 | WordPress | 49 | WAN | | 7 | Flutter | 50 | Firewall configuration | | 8 | FilamentPHP | 51 | Keras | | 9 | React.js | 52 | VPNs | | 10 | Java | 53 | scikit-learn | | 11 | C++ | 54 | Tableau | | 12 | AWS | 55 | Power BI | | 13 | Azure | 56 | D3.js | | 14 | Google Cloud | 57 | Xamarin | | 15 | Machine learning | 58 | Swift | | 16 | Data visualization | 59 | Objective-C | | 17 | Statistical analysis | 60 | Xcode | | 18 | Network architecture | 61 | Android Studio | | 19 | Database design | 62 | Kotlin | | 20 | SQL | 63 | Git | | 21 | NoSQL | 64 | Kubernetes | | 22 | MongoDB | 65 | Docker | | 23 | Cassandra | 66 | TypeScript | | 24 | DevOps | 67 | VLSI Design | | 25 | TensorFlow | 68 | Circuit Design | | 26 | PyTorch | 69 | Layout Design | | 27 | Computer Vision | 70 | Physical Design | | 28 | Natural Language Processing | 71 | Digital Design | | 29 | HTML | 72 | Design with FPGA | | 30 | CSS | 73 | Verification & Validations | | 31 | React | 74 | IoT | | 32 | Angular | 75 | Embedded Systems | | 33 | Vue.js | 76 | Intelligent Machines | | 34 | Node.js | 77 | BIM FOR CONSTRUCTION | | 35 | Ruby on Rails | 78 | BIM FOR ARCHITECTURE | | 36 | CodeIgniter | 79 | INTERIOR AND EXTERIOR DESIGN | | 37 | IaaS | 80 | BIM FOR STRUCTURES | | 38 | PaaS | 81 | BIM FOR HIGHWAY ENGINEERING | | 39 | SaaS | 82 | PRODUCT DESIGN & 3D PRINTING | | 40 | Cloud access control | 83 | PRODUCT DESIGN & MANUFACTURING | | 41 | Data encryption | 84 | BIM CONCEPTS WITH MEP AND PRODUCT DESIGN | | 42 | MySQL | 85 | 3D PRINTING CONCEPTS, DESIGN AND PRINTING | | 43 | PostgreSQL | 86 | Manufacturing |
Troubleshooting
- "CSV not found": Ensure the file is named exactly
data.csv(notdata.csv.txt). - "KeyError: internship_id": Check your
config.jsonformatting. Ensure there are commas at the end of every line except the last one. - "JSONDecodeError": Your
data.csvmight have bad formatting in theskill_idscolumn. Ensure it looks like a list (e.g.,[63, 1]). - "401 Unauthorized": Your cookie has expired. Get a fresh cookie from the browser.
- "access_token error": Cookie was not copied correctly. See the Cookie Copy-Paste Issue section above.
Security Score
Audited on Feb 17, 2026
