<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ABHISHEK SOKKAM</title>
    <description>The latest articles on DEV Community by ABHISHEK SOKKAM (@abhishek_sokkam_f8e578dbf).</description>
    <link>https://dev.to/abhishek_sokkam_f8e578dbf</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4232066%2F284f3b00-6a37-449c-a3c6-cac4b3067be1.png</url>
      <title>DEV Community: ABHISHEK SOKKAM</title>
      <link>https://dev.to/abhishek_sokkam_f8e578dbf</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abhishek_sokkam_f8e578dbf"/>
    <language>en</language>
    <item>
      <title>My Contribution to CodeMemory: Backend API Development</title>
      <dc:creator>ABHISHEK SOKKAM</dc:creator>
      <pubDate>Sat, 07 Nov 2026 12:38:19 +0000</pubDate>
      <link>https://dev.to/abhishek_sokkam_f8e578dbf/my-contribution-to-codememory-backend-api-development-1d66</link>
      <guid>https://dev.to/abhishek_sokkam_f8e578dbf/my-contribution-to-codememory-backend-api-development-1d66</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Introduction to CodeMemory&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;CodeMemory is an AI-powered platform that helps developers understand their GitHub repositories and remember important information about their projects.&lt;/p&gt;

&lt;p&gt;It allows developers to interact with their code using AI and access previously stored information.&lt;/p&gt;

&lt;p&gt;Our project uses GitHub integration, backend services, and memory management to make software development easier.&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjhew031skal7xz01q6j8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fjhew031skal7xz01q6j8.jpg" alt=" " width="800" height="989"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;My Role in the Project&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;My main role in CodeMemory was Backend API Development.&lt;/p&gt;

&lt;p&gt;I worked with Python and FastAPI to create and configure APIs.&lt;/p&gt;

&lt;p&gt;My main responsibility was to connect the frontend and backend so that both could communicate properly.&lt;/p&gt;

&lt;p&gt;My work included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creating API routes using FastAPI.&lt;/li&gt;
&lt;li&gt;Handling frontend requests.&lt;/li&gt;
&lt;li&gt;Sending responses from the backend.&lt;/li&gt;
&lt;li&gt;Using Pydantic for data validation.&lt;/li&gt;
&lt;li&gt;Connecting APIs with backend services.&lt;/li&gt;
&lt;li&gt;Working with chat and memory-related APIs.&lt;/li&gt;
&lt;li&gt;Testing APIs using Swagger UI.&lt;/li&gt;
&lt;li&gt;Fixing errors in the backend.&lt;/li&gt;
&lt;li&gt;Updating code in GitHub.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Backend Structure&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The backend contains different files and folders. Each one has a separate responsibility.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;chat.py: Handles chat-related requests.&lt;/li&gt;
&lt;li&gt;health.py: Checks whether the backend is working.&lt;/li&gt;
&lt;li&gt;memory.py: Handles memory operations.&lt;/li&gt;
&lt;li&gt;repository.py: Handles repository-related operations.&lt;/li&gt;
&lt;li&gt;agents: Contains the agent orchestration functionality.&lt;/li&gt;
&lt;li&gt;dependencies.py: Provides the required backend services.&lt;/li&gt;
&lt;li&gt;schemas: Defines the structure of requests and responses.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This structure helps us organize the code properly.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;API Development Using FastAPI&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I used FastAPI, a Python framework, to create APIs.&lt;/p&gt;

&lt;p&gt;An API helps the frontend and backend communicate with each other.&lt;/p&gt;

&lt;p&gt;A simple example of creating an API is:&lt;/p&gt;

&lt;p&gt;from fastapi import APIRouter&lt;/p&gt;

&lt;p&gt;router = APIRouter(&lt;br&gt;
    prefix="/chat",&lt;br&gt;
    tags=["Chat"]&lt;br&gt;
)&lt;/p&gt;

&lt;p&gt;&lt;a class="mentioned-user" href="https://dev.to/router"&gt;@router&lt;/a&gt;.post("/")&lt;br&gt;
async def chat():&lt;br&gt;
    return {"message": "Chat API is working"}&lt;/p&gt;

&lt;p&gt;Here, "APIRouter" is used to create an API route, and "POST" is used to send information to the backend.&lt;/p&gt;

&lt;p&gt;In our project, the chat API connects with the actual backend processing components.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm6tndyr7xjvr6ya8x796.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fm6tndyr7xjvr6ya8x796.jpg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw0rbt80pd0y02v9fzis9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fw0rbt80pd0y02v9fzis9.jpg" alt=" " width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How Frontend and Backend Communicate&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This was one of the main parts of my work.&lt;/p&gt;

&lt;p&gt;The frontend and backend communicate using APIs.&lt;/p&gt;

&lt;p&gt;Frontend:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Displays the website.&lt;/li&gt;
&lt;li&gt;Takes input from the user.&lt;/li&gt;
&lt;li&gt;Shows the results.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Backend:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Receives user input.&lt;/li&gt;
&lt;li&gt;Processes the information.&lt;/li&gt;
&lt;li&gt;Communicates with other services.&lt;/li&gt;
&lt;li&gt;Sends the result back.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Simple working process&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The user enters a question in the CodeMemory chat.&lt;/li&gt;
&lt;li&gt;The frontend sends the question to the backend.&lt;/li&gt;
&lt;li&gt;The request reaches the FastAPI endpoint.&lt;/li&gt;
&lt;li&gt;The backend checks the input using Pydantic.&lt;/li&gt;
&lt;li&gt;The backend processes the question using the required services.&lt;/li&gt;
&lt;li&gt;The backend prepares a response.&lt;/li&gt;
&lt;li&gt;The response is sent back to the frontend.&lt;/li&gt;
&lt;li&gt;The frontend displays the answer to the user.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example&lt;/p&gt;

&lt;p&gt;Suppose a user enters:&lt;/p&gt;

&lt;p&gt;"Explain this GitHub repository."&lt;/p&gt;

&lt;p&gt;The frontend sends the following data to the backend:&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
    "repository_id": "owner/repository",&lt;br&gt;
    "question": "Explain this GitHub repository"&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;The backend receives this information through the chat API, processes the request, and returns a response.&lt;/p&gt;

&lt;p&gt;The frontend then displays the answer.&lt;/p&gt;

&lt;p&gt;My responsibility was to develop and configure the APIs that make this communication possible.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How API Requests and Responses Work&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A request is the information sent from the frontend to the backend.&lt;/p&gt;

&lt;p&gt;A response is the information sent back from the backend to the frontend.&lt;/p&gt;

&lt;p&gt;Some common HTTP methods are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GET: To receive information.&lt;/li&gt;
&lt;li&gt;POST: To send information.&lt;/li&gt;
&lt;li&gt;PUT: To update information.&lt;/li&gt;
&lt;li&gt;DELETE: To delete information.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In our project, the chat functionality uses a POST request to send the user's question to the backend.&lt;/p&gt;

&lt;p&gt;The backend processes the request and returns the result in JSON format.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Important APIs in CodeMemory&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Some important API endpoints in our project are:&lt;/p&gt;

&lt;p&gt;API Endpoint| Purpose&lt;br&gt;
POST /api/chat| Handles chat requests&lt;br&gt;
POST /api/memory/retain| Stores information&lt;br&gt;
POST /api/memory/recall| Retrieves stored information&lt;br&gt;
POST /api/memory/reflect| Generates reflections&lt;br&gt;
Health endpoint| Checks backend status&lt;/p&gt;

&lt;p&gt;These APIs help different parts of CodeMemory perform their tasks.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Testing APIs Using Swagger UI&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After developing the APIs, I tested them using Swagger UI.&lt;/p&gt;

&lt;p&gt;Swagger UI provides a simple interface to test APIs.&lt;/p&gt;

&lt;p&gt;We can open it using:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://127.0.0.1:8000/docs" rel="noopener noreferrer"&gt;http://127.0.0.1:8000/docs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Using Swagger UI, I was able to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;View all API endpoints.&lt;/li&gt;
&lt;li&gt;Enter sample input.&lt;/li&gt;
&lt;li&gt;Execute API requests.&lt;/li&gt;
&lt;li&gt;Check the responses.&lt;/li&gt;
&lt;li&gt;Find errors during testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This helped me check whether the backend APIs were working correctly.&lt;/p&gt;

&lt;p&gt;Project screenshots to include:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Screenshot of "chat.py" in VS Code.&lt;/li&gt;
&lt;li&gt;Screenshot of the "main.py" file.&lt;/li&gt;
&lt;li&gt;Screenshot of Swagger UI showing the API endpoints.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Screenshot of chat API testing.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Challenges Faced&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;During development, I faced some challenges.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Import Errors: Some Python modules were not importing correctly. I checked the folder structure and corrected the import paths.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Request Handling: I learned how to receive information from the frontend and validate it using Pydantic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Backend Connection: Connecting API routes with the required backend services required proper understanding of the project structure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;API Testing: Some API requests returned errors. I used the terminal and Swagger UI to identify and fix the problems.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;These challenges helped me understand backend development better.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Technologies Used&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Python – Programming language.&lt;/li&gt;
&lt;li&gt;FastAPI – Creating backend APIs.&lt;/li&gt;
&lt;li&gt;Pydantic – Validating data.&lt;/li&gt;
&lt;li&gt;Uvicorn – Running the backend server.&lt;/li&gt;
&lt;li&gt;Swagger UI – Testing APIs.&lt;/li&gt;
&lt;li&gt;VS Code – Writing and debugging code.&lt;/li&gt;
&lt;li&gt;Git and GitHub – Managing and updating project code.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;GitHub Contribution&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We used GitHub to store and manage our project code.&lt;/p&gt;

&lt;p&gt;I updated my backend changes in the repository and used pull requests to contribute my work to the project.&lt;/p&gt;

&lt;p&gt;This helped me understand how team members collaborate on software projects.&lt;/p&gt;

&lt;p&gt;GitHub Repository:&lt;br&gt;
&lt;a href="https://github.com/MounaShreeK/CodeMemory" rel="noopener noreferrer"&gt;https://github.com/MounaShreeK/CodeMemory&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What I Learned&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Through this project, I learned:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How APIs work.&lt;/li&gt;
&lt;li&gt;How to create APIs using FastAPI.&lt;/li&gt;
&lt;li&gt;How frontend and backend communicate.&lt;/li&gt;
&lt;li&gt;How HTTP requests and responses work.&lt;/li&gt;
&lt;li&gt;How to use JSON data.&lt;/li&gt;
&lt;li&gt;How to validate data using Pydantic.&lt;/li&gt;
&lt;li&gt;How to test APIs using Swagger UI.&lt;/li&gt;
&lt;li&gt;How to fix backend errors.&lt;/li&gt;
&lt;li&gt;How to use GitHub for teamwork.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Working on CodeMemory helped me gain practical experience in backend development.&lt;/p&gt;

&lt;p&gt;My main contribution was developing APIs using Python and FastAPI.&lt;/p&gt;

&lt;p&gt;I learned how to create API routes, handle requests and responses, connect backend services, and test APIs using Swagger UI.&lt;/p&gt;

&lt;p&gt;I also understood how APIs connect the frontend and backend and allow them to work together.&lt;/p&gt;

&lt;p&gt;Overall, this project improved my technical knowledge and gave me practical experience in software development.&lt;/p&gt;

&lt;p&gt;Project: CodeMemory&lt;/p&gt;

&lt;p&gt;My Role: Backend API Development and Frontend–Backend Communication&lt;/p&gt;

&lt;p&gt;Author: Abhishek S&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/MounaShreeK/CodeMemory" rel="noopener noreferrer"&gt;https://github.com/MounaShreeK/CodeMemory&lt;/a&gt;&lt;/p&gt;

</description>
      <category>api</category>
      <category>backend</category>
      <category>opensource</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
