Wednesday, July 9, 2025

Uploading the Full-Stack To-Do List App to GitHub Using a Personal Access Token

 Deploying a web app like our full-stack Spring Boot + React To-Do List often starts by pushing the source code to GitHub. If you've encountered issues with the traditional username/password authentication (especially after GitHub disabled password-based logins), this guide will walk you through using a Personal Access Token (PAT) instead.


πŸ” Step 1: Generate a Personal Access Token

  1. Go to https://github.com/settings/tokens.

  2. Click "Generate new token (classic)".

  3. Add a descriptive name, like "todo app push access".

  4. Set an expiration date (e.g., 30 or 90 days).

  5. Under Scopes, check at least:

    • repo (full control of private repositories)

  6. Click Generate Token.

  7. Copy the token now. GitHub will not show it again.


πŸ“ Step 2: Initialize Git in Your Project

If you haven’t already, open your terminal (Git Bash on Windows) and navigate to your project folder:

cd /c/todo_app

Initialize the Git repo:

git init

git add .

git commit -m "Initial commit for full-stack To-Do app"

🌐 Step 3: Add Your Remote Repository

Go to https://github.com, create a new repository called todo.

Then link your local project to it:

git remote set-url origin https://<token>@github.com/<username>/todo.git

Replace yourusername with your GitHub username.


πŸš€ Step 4: Push Code Using the Personal Access Token

When you run:

git push -u origin main

✔️ Once successful, your project is live on GitHub.

My Initial Development Strategy

To ensure the stability of the existing ToDo List application, my strategy is to isolate the current production version so that it remains untouched throughout the entire enhancement process. This allows me to work freely without affecting the original functionality.

I will begin by updating the backend, focusing on implementing new API endpoints for email verification, profile management, and password recovery. All changes will be tested locally to ensure correctness and security.

Once the backend APIs are verified, I will move on to updating the frontend, integrating the new features into the ReactJS application—starting with the authentication flows and followed by the profile UI.

After both backend and frontend are aligned, I will conduct end-to-end testing, address any bugs or integration issues, and finally proceed with deployment to Railway.

Additional improvements such as UI polishing, user feedback messages, and optional features (e.g., resend verification email, change password) will be added in the final stages.

No comments:

Post a Comment

Pentesting My To-Do List App: Automating Workflow Attacks

 As part of improving the security of my To-Do List application (built with Spring Boot, MySQL, and React), I performed a pentest to evaluat...