It is a clone of the CRUD operations on Instagram which can create, get, create posts and get the post along with pagination

Instagram-API-Clone

It is a basic version of a RESTful API based on Instagram where we can create user, get the users, create post and get post and get all posts of an user.

Description

A User has the Following details

- Id
- Name
- Email
- Password

A post has the Following details

- Id
- Caption
- Image URL
- Posted Timestamp

Major Features

  • Feature 1- Create an User using the details by the POST request
  • Feature 2- Get an User using their ID by GET request
  • Feature 3- Create a Post using the details by POST request
  • Feature 4- Get a Post using the details of ID by GET request
  • Feature 5- Get all Posts of User using the the Unique ID of the User by GET request
  • Feature 6- Impelmented Pagination to get all Posts of User using the the Unique ID of the User by GET request

Additonal Features

  • Hashed to protect password so that it cannot be Reverse Engineered
  • Implemented Thread security by Implementing Locks
  • Fully Structured Code with code reusability
  • Pagination for the list endpoint

Run Locally

Clone the project

  git clone https://github.com/ayan2809/Instagram-API-Clone

Install Dependencies

  git mod init test3

Run the Code

   go run instagram.go

Usage/API Calls

To Create an Instagram user on the database using POST request

   http://localhost:4000/users

To Get the user data using their unique id using the GET request

   http://localhost:4000/users/{id}

To Create an Instagram post on the database using POST request

   http://localhost:4000/posts

To Get the instagram post data using the unique id of the post and GET request

   http://localhost:4000/posts/{id}

To Get all the instagram posts of an user using the unique id of the user and GET request

   http://localhost:4000/posts/users/{id}

To Get a certain limited instagram posts of an user using the unique id of the user and GET request

   http://localhost:4000/posts/users/{id}&limit=3

Thread Safety Feature using Locks

Owner
Ayan Sadhukhan
Pursuing CSE from VIT Chennai.
Ayan Sadhukhan
Similar Resources

A fast clone of the Jekyll blogging engine, in Go

Gojekyll Gojekyll is a partially-compatible clone of the Jekyll static site generator, written in the Go programming language. It provides build and s

Dec 30, 2022

an online REST renting book platform which you can authenticate, order, reserve a book in your account.

an online REST renting book platform which you can authenticate, order, reserve a book in your account.

BOOK MAN an online REST renting book platform which you can authenticate, order, reserve a book in your account. it's a microservices project with hig

Jul 22, 2022

A barebones Go app, which can easily be deployed to Heroku

go-getting-started A barebones Go app, which can easily be deployed to Heroku. This application supports the Getting Started with Go on Heroku article

Nov 29, 2021

A simple command line tool using which you can skip phone number based SMS verification by using a temporary phone number that acts like a proxy

A simple command line tool using which you can skip phone number based SMS verification by using a temporary phone number that acts like a proxy

Fake-SMS A simple command line tool using which you can skip phone number based SMS verification by using a temporary phone number that acts like a pr

Dec 31, 2022

Simple vanilla Go CRUD application with mongoDB database with its mflix dataset that I use for my thesis about benchmarking REST API and GraphQL.

Go GraphQL Simple vanilla Go CRUD application with mongoDB database with its mflix dataset that I use for my thesis about benchmarking REST API and Gr

Oct 15, 2021

Build a TodoList with Go Design and implement a backend RESTful service in golang with CRUD

May we ask Igor to do a little project in leu of sample code? If there is a hire, the hours spent should be invoiced, so please keep track of that. Th

May 5, 2022

A simple CRUD todo list application that is powered by Docker and Go

A simple CRUD todo list application that is powered by Docker and Go. Docker compose will run two containers todolist and mysql.

Jan 18, 2022

A CRUD Phone Book app by REST-API, Golang and PostgreSQL

A CRUD Phone Book app by REST-API, Golang and PostgreSQL

in this repository, I've created a CRUD Phone Book app by REST-API, Golang and PostgreSQL. in this app, you can: 1-Create a new contact 2-See all contacts 3-Search among the contacts 4-Delete a contact by it's name 5-Delete a contact by it's number 6-Delete all contacts

Oct 8, 2022

this allows you to get the real link of without get tracked bit.ly

this allows you to get the real link of without get tracked bit.ly

check the real url from a url shortener (bit.ly) Also you can use it as an API example with deno const rawResponse = await fetch("https://anti-url-s

Feb 19, 2022
A Golang REST API to handle users and posts for a simple instagram backend. Uses MongoDB as the database. Tested using golang-testing and Postman.
A Golang REST API to handle users and posts for a simple instagram backend. Uses MongoDB as the database. Tested using golang-testing and Postman.

A Golang REST API to handle users and posts for a simple instagram backend. Uses MongoDB as the database. Tested using golang-testing and Postman.

Oct 10, 2021
A REST API with GET/POST Endpoints

Instagram-Backend-API(NO EXTRA DEPENDENCIES) Designed and Developed an HTTP JSON REST API mocking of instagram posts and users schema which capable of

Oct 10, 2021
A social media API to handle users and their posts, written from scratch in Golang
A social media API to handle users and their posts, written from scratch in Golang

Initial Set-Up To start the project on your own machine you'll need Golang instlled, along with mongoDB. Once you've insured these requirements are me

Oct 9, 2021
Simple Go BE to serve blog posts

Simple Go BE to serve blog posts

Jan 25, 2022
Create a Protocol Buffers (Protobuf) plugin, which is executed with the protoc compileCreate a Protocol Buffers (Protobuf) plugin, which is executed with the protoc compile

Interview Assignment Overview You assignment is to create a Protocol Buffers (Protobuf) plugin, which is executed with the protoc compiler. In this ex

Nov 19, 2021
Instagram Backend HTTP REST API using GO Lang and Mongo DB

Instagram Backend HTTP REST API using GO Lang and Mongo DB Project for Appointy Summer Internship . Project built within 25 hrs, with no prior knowled

Oct 10, 2021
REST API of Instagram's functionalities; developed using GO (and Mongo).
REST API of Instagram's functionalities; developed using GO (and Mongo).

Instagram-backend-api REST API of Instagram's functionalities; developed using GO (and Mongo). Constraints: Complete API has been developed using Go M

Oct 9, 2021
Oct 1, 2021
[爬虫框架 (golang)] An awesome Go concurrent Crawler(spider) framework. The crawler is flexible and modular. It can be expanded to an Individualized crawler easily or you can use the default crawl components only.

go_spider A crawler of vertical communities achieved by GOLANG. Latest stable Release: Version 1.2 (Sep 23, 2014). QQ群号:337344607 Features Concurrent

Dec 30, 2022
A Discord clone using React and Go

Valkyrie A Discord clone using React and Go. Live Demo Notes: File Upload is disabled. The design does not fully match current Discord anymore. Data r

May 12, 2022