KTU Students: Documenting Full Stack Web Development Internship Work in a GitHub Portfolio

Facebook
Twitter
LinkedIn
WhatsApp
Email

Document a full stack internship project by turning the repository into a short, reproducible case study. The README should state what the app does, show how the parts connect, let a stranger run it in a few minutes, list every API endpoint, say honestly what was tested, and record what you personally built. The template below covers all of this and can be adapted to any stack.

This guide is written for students of APJ Abdul Kalam Technological University (KTU), the Kerala state technological university. It is an independent guide and has no connection with the university.

Why the README matters more than the code

A recruiter, faculty member or senior reviewing your profile will usually spend under two minutes on a repository. They open the README, look for a screenshot or diagram, check whether the project runs, and scan for evidence of your own contribution. Clean code that is invisible behind an empty README gets skipped. An average project with a precise README gets read.

Full stack work is especially easy to under-document, because the value lies in how the front end, back end and database cooperate. That connection has to be written down. The sections below follow the order a reviewer reads in.

KTU, not AKTU: getting the name right on your portfolio

KTU stands for APJ Abdul Kalam Technological University, headquartered in Thiruvananthapuram, Kerala, and it is the affiliating university for most engineering colleges in the state. AKTU is a different institution: Dr. A.P.J. Abdul Kalam Technical University in Uttar Pradesh. The two are often confused because they share a namesake. On your GitHub profile, resume and README, write the full name once, for example “B.Tech, APJ Abdul Kalam Technological University (KTU), Kerala”, and name your affiliated college as well. Doing so avoids a reviewer assuming the wrong university.

The university publishes its own regulations, syllabi and notifications on its official website, and those documents decide how internships and projects count for your degree. This article does not quote any rule from them; see the verification list near the end for what to ask for.

Free 2-Week CareerSwami Internship

Online, 14 days, with a free offer letter and a free completion certificate once you finish the work. Check with your college that it fits your requirement before you enrol.

Apply for the free internship

The repository structure

Keep the layout predictable. A reviewer should find each thing in the place they expect it.

project-name/
  README.md
  CONTRIBUTIONS.md
  docs/
    architecture.md
    api.md
    screenshots/
  client/            (front end)
  server/            (back end)
  .env.example
  .gitignore
  LICENSE
  • README.md is the front page and should stay under about 200 lines.
  • CONTRIBUTIONS.md holds the contribution log, so the README stays readable.
  • docs/ holds longer material: the diagram source, the full API reference, screenshots.
  • .env.example lists every environment variable with a dummy value. Never commit a real .env file.

The README template, section by section

Copy the skeleton below and replace the bracketed parts. Everything in it is a placeholder, not a description of any real project.

# [Project Name]

[One sentence: what it does and who it is for.]

**Status:** [Working prototype / In progress]
**Built during:** [Two-week online internship, month and year]
**Stack:** [React, Node.js, Express, MongoDB, etc.]

## Demo
[Link to hosted version, or 3-4 screenshots / a short GIF]

## Features
- [Feature 1]
- [Feature 2]

## Architecture
[Diagram image or Mermaid block + 3-5 sentences]

## Getting Started
### Prerequisites
### Installation
### Environment variables
### Run

## API Reference
[Table, or link to docs/api.md]

## Testing
[What was tested, how, what was not]

## Project Structure

## My Contribution
[Link to CONTRIBUTIONS.md]

## Known Limitations and Next Steps

## License and Contact

1. The opening block

Write one plain sentence about the problem solved. “A task tracker where team members create, assign and close tasks” beats “A MERN stack application”. Add the stack as a short line below it, and state the status honestly. A working prototype labelled as one earns more trust than an overclaimed “production-ready platform”.

2. The architecture diagram

You do not need a design tool. GitHub renders Mermaid diagrams inside Markdown, so the diagram lives in the README, stays editable and shows up in version history. An illustrative example for a three-tier app:

```mermaid
flowchart LR
  A[Browser: React client] -->|HTTPS, JSON| B[Express API server]
  B -->|Queries| C[(Database)]
  B -->|Verify token| D[Auth middleware]
  A -->|Static assets| E[Hosting]
```

Under the diagram, write three to five sentences answering these questions: Where does authentication happen? How does the client store the session (cookie or token)? Which layer validates input? Where does data persist? These sentences show that you understand the design rather than having followed a tutorial.

3. Setup steps that actually work

Setup instructions are the most common failure point. Write them as a numbered list, one action per step, with exact commands. Then follow your own instructions on a clean folder or another machine before publishing.

  1. State prerequisites with versions: Node.js version, package manager, database.
  2. Clone the repository and move into it.
  3. Install dependencies for the client and the server separately.
  4. Copy .env.example to .env and explain each variable in a small table.
  5. Seed or migrate the database, if needed, with one command.
  6. Start the server, then the client, and give the local URLs.
  7. Say what the reviewer should see when it works.

The final step matters. “Open the client URL and you should see a login page” gives the reader a way to know they succeeded.

4. The API table

A table of endpoints is the quickest way to show back-end competence. Include method, path, purpose, authentication requirement and the main responses. The rows below are an illustrative example for a task tracker, not a real project.

Method Endpoint Purpose Auth Success / error responses
POST /api/auth/register Create a user account No 201 with user id / 400 invalid input, 409 duplicate email
POST /api/auth/login Return a session token No 200 with token / 401 wrong credentials
GET /api/tasks List the user’s tasks, with optional status filter Yes 200 with array / 401 missing token
POST /api/tasks Create a task Yes 201 with task / 400 missing title
PATCH /api/tasks/:id Update status or title Yes 200 with task / 404 not found, 403 not owner
DELETE /api/tasks/:id Delete a task Yes 204 / 404 not found, 403 not owner

For one or two key endpoints, add a request and response sample in a code block, so the reader sees the exact JSON shape. If the full reference grows long, move it to docs/api.md and keep the main table in the README.

5. Test notes

Test notes should report what you did, not what sounds impressive. Reviewers distrust a README that claims “fully tested” with no evidence. Write what you checked, how, and what remains untested. Useful headings:

  • Manual checks: a short checklist of flows you walked through (register, log in, create a task, refresh the page, log out).
  • Automated tests: the framework, the command to run them, and what they cover. Include this only if the tests exist in the repository.
  • API checks: the tool you used (Postman collection, REST client file) and a link to the exported collection in the repo.
  • Not covered: a candid list, such as no load testing, no mobile browser testing, no accessibility audit.

Only paste test output you actually produced yourself. The “Not covered” list is not a weakness; it signals engineering maturity.

6. The contribution log

If you built the project alone, the log is a development diary. If you worked with others, it is essential evidence of what you did. Put it in CONTRIBUTIONS.md as a dated table and link it from the README.

Day What I built or changed Evidence (commit / PR / file) What I learned or fixed
1 [Set up repo, folder structure, base server] [Commit link] [Short note]
2 [Database schema and models] [Commit or file link] [Short note]
3-4 [Auth routes and middleware] [PR link] [Short note]
5-7 [CRUD endpoints for core resource] [PR link] [Short note]
8-10 [Client pages and API integration] [Commit range] [Short note]
11-12 [Validation, error handling, testing] [Commit link] [Short note]
13-14 [README, screenshots, deployment] [Commit link] [Short note]

Link every row to a real commit or pull request. For group work, add a line stating which modules were yours and which were teammates’, with their GitHub handles. Honest attribution protects you if anyone asks about the work in an interview.

Portfolio scorecard

Before publishing, score the repository against this checklist. Give yourself 2 for fully done, 1 for partly, 0 for missing. A total of 20 or more out of 26 is a solid portfolio piece.

Item What a 2 looks like
One-line summary Problem and user stated in a single sentence
Screenshots or demo At least three screens or a short GIF, current with the code
Architecture diagram Renders on GitHub, with a short written explanation
Prerequisites with versions Runtime, package manager and database versions named
Setup steps Numbered, exact commands, tried from a clean clone
Environment variables .env.example committed, every variable explained
API table All endpoints listed with auth and error responses
Test notes Manual and automated checks described, gaps admitted
Contribution log Dated, linked to commits or PRs
Commit history Small commits with meaningful messages, not one giant upload
Secrets hygiene No keys, passwords or database URLs in history
Limitations section Known problems and next steps listed
Licence and contact Licence file present, a way to reach you

Worked example: full stack GitHub portfolio (illustrative)

The following is a hypothetical case, not a real student or project. Meera, a third-year computer science student, builds a small “Hostel Complaint Tracker” during a two-week internship. Students file complaints, wardens update status.

First draft README: “Hostel complaint app using MERN. Run npm start.” The reviewer cannot tell what it does, what is in it, or what Meera wrote.

Revised README, applying the template:

  • Opening line: “A web app where hostel residents file maintenance complaints and wardens track them to resolution.”
  • Three screenshots: complaint form, warden dashboard, status filter.
  • Mermaid diagram showing the React client, Express API, a MongoDB database and a role check in middleware, with four sentences explaining that resident and warden roles are distinguished in the token payload.
  • Seven setup steps, including a seed script that creates one warden account, and the line “You should see the login page at the client URL.”
  • An API table of eight endpoints, with 403 responses documented for a resident trying to change status.
  • Test notes: a manual checklist of six flows, a Postman collection in docs/, and a “Not covered” line admitting no automated front-end tests.
  • A contribution log with dates and pull request links, and a note that the status filter was the hardest bug and how it was fixed.

Nothing in the second version is more advanced technically. Only the communication changed, and that is what a reviewer sees first.

Writing commit messages and pull requests that support the log

The contribution log is only as good as the history behind it. A few habits make it easy:

  • Commit after each working step, not once at the end. “Add task model and validation” is better than “update”.
  • Use branches for features and merge through pull requests, even if working alone. The PR description becomes a ready-made log entry.
  • Reference what changed and why in the body of larger commits.
  • Tag the final submitted state, for example v1.0-internship, so a reviewer can see exactly what was delivered at the end.

Pinning, naming and presenting the repository

  • Repository name: use a descriptive, lowercase name such as hostel-complaint-tracker, not project1.
  • Description and topics: fill in the short description and add topics like react, nodejs, rest-api.
  • Pin it: pin the best two or three repositories on your profile.
  • Profile README: add a short profile introduction naming your degree, college and KTU, and linking to the pinned work.
  • Link it from your resume: use the repository link plus a live demo link if you have one.

KTU portfolios: what the university’s own orders mean for your GitHub documentation

Rules that shape a KTU student’s project and internship documentation are set by the university for its colleges, not by an internship provider. A 2022 university order (No. 15/2022/KTU, issued from Thiruvananthapuram on 3 January 2022) sets guidelines for B.Tech (Honours) under the 2019 Scheme. That document is hosted on a college website and was seen only as an excerpt, so read the full, current version before relying on it.

Two points from it matter for a full stack portfolio. First, the order says the University, not the institution, issues the Honours degree, and that colleges may not charge any additional fee for Honours. In practice, any claim about how a piece of work counts should be traced to a university document, not to a college notice board or a provider’s page. Second, the excerpt of Rule 12 of the KTU B.Tech Regulations 2019 states that Honours registration happens along with 4th semester registration and that Honours students complete the mini project in S8. If you are in an Honours track, your mini project is a natural place to apply the README, architecture diagram, API table and contribution log described earlier. Plan its repository structure from the start, not at the end of S8.

Nothing in these excerpts addresses internships, online internships, activity points or industrial training. Do not write in your README or resume that a short internship counts toward any requirement. Scheme and batch differ, so a rule for the 2019 Scheme may not apply to your admission year.

Keep the naming point from earlier: write the full name, APJ Abdul Kalam Technological University, to avoid confusion with AKTU in Uttar Pradesh.

For a structured project to document, the free two-week online internship from CareerSwami includes a free offer letter and a free completion certificate after successful completion. CareerSwami is independent and not affiliated with KTU.

Checks before you publish or submit

  • Download the regulations and syllabus for your own admission year and branch from the KTU website and search for “internship”, “mini project” and “Honours”.
  • Confirm with your department whether you fall under the 2019 Scheme or a later one.
  • If you are an Honours student, ask your coordinator what the S8 mini project report must contain and in what format.
  • Email your internship in-charge or the training and placement officer to ask whether an online internship has any recognised status, and keep the reply.
  • Ask your mini project guide in writing whether the code may be pushed to a public repository.

Common README and repository mistakes in a full stack portfolio

  • Committing .env files or API keys. If you do, rotate the key, because deleting the file does not remove it from history.
  • Screenshots that no longer match the app.
  • Copying a tutorial’s code and README wording without credit. Credit tutorials and libraries in a short “Acknowledgements” section.
  • Listing technologies you did not use to fill the stack line.
  • Leaving the default framework README in the client folder.
  • A single enormous commit on the last day, which makes the contribution log impossible to verify.

A 14-day documentation rhythm

Do not leave documentation to the final evening. Spread it across the internship.

  • Day 1: create the repository, add the README skeleton and the .env.example.
  • Days 2-5: after each feature, add its endpoints to the API table and one line to the contribution log.
  • Day 6: draft the architecture diagram while the design is fresh.
  • Days 7-10: take screenshots as screens are finished, and write manual test checks as you test.
  • Day 11-12: clone into a clean folder and follow the setup steps exactly; fix whatever breaks.
  • Day 13: fill in limitations, next steps, licence and the scorecard.
  • Day 14: tag the release, pin the repository, and update your resume.

Frequently Asked Questions

Does KTU mean AKTU?

No. KTU is APJ Abdul Kalam Technological University in Kerala. AKTU is Dr. A.P.J. Abdul Kalam Technical University in Uttar Pradesh. Write the full name on your portfolio to avoid mix-ups.

Should I make the repository public or private?

Public if you want recruiters to see it, provided it contains no secrets, no confidential data and no code you are not permitted to share. If a faculty guide or company owns part of the work, ask before publishing.

Do I need a live deployment?

It helps but is not mandatory. Screenshots or a short screen recording plus reliable setup steps are enough for a reviewer to judge the work. If you deploy, note any limits, such as a free-tier server that sleeps and starts slowly.

How many endpoints should the API table have?

List all the endpoints you built, however few. Six to ten well-documented endpoints with authentication and error cases are more convincing than twenty undocumented ones.

What if my full stack internship project was built with teammates, how do I document my own part on GitHub?

Say so plainly in the README, list teammates’ GitHub handles and state which modules you wrote. Link your own commits and pull requests in the contribution log. Interviewers often ask about exactly those parts.

Can I write that the internship counts for credit or activity points?

Only if your college or the university confirms it in writing for your scheme and batch. Without that confirmation, describe the internship factually: what you built, over how long, and what certificate you received.

What should I write if I have no automated tests?

Say so, and list the manual checks you carried out. Add the missing automated tests to “Next steps”. An honest test section is better than an inflated claim.

Is a Mermaid diagram enough as an architecture diagram?

For a project of this size, yes. It shows the main components and the direction of data. Add a few sentences covering authentication, validation and data storage, since those are the points reviewers probe.

Related Full Stack Web Development guides

Ready to put this into practice?

Join the free two-week CareerSwami online internship in Full Stack Web Development. The internship, the offer letter and the completion certificate are free.

Start your free 2-week internship

Web Stories

Scroll to Top