Categorygithub.com/kanitmann/Instagram_Backend_API
modulepackage
0.0.0-20211009123303-6fd83051dc23
Repository: https://github.com/kanitmann/instagram_backend_api.git
Documentation: pkg.go.dev

# README

Made With Contributors Forks Stargazers Issues MIT License


Logo

Instagram Backend API

*To be Updated*
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. License
  6. Meet the Team

About The Project

The task is to develop a basic version of a Instagram. You are only required to develop the API for the system. Below are the details.

You are required to Design and Develop an HTTP JSON API capable of the following operations,

  • Create an User

    • Should be a POST request
    • Use JSON request body
    • URL should be ‘/users'
  • Get a user using id

    • Should be a GET request
    • Id should be in the url parameter
    • URL should be ‘/users/<id here>’
  • Create a Post

    • Should be a POST request
    • Use JSON request body
    • URL should be ‘/posts'
  • Get a post using id

    • Should be a GET request
    • Id should be in the url parameter
    • URL should be ‘/posts/<id here>’
  • List all posts of a user

    • Should be a GET request
    • URL should be ‘/posts/users/<Id here>'

Additional Constraints/Requirements:

  • The API should be developed using Go.
  • MongoDB should be used for storage.
  • Only packages/libraries listed here and here can be used.

Scoring:

  • Completion Percentage
    • No. of working endpoints among the ones listed above.
  • Quality of Code
    • Reusability
    • Consistency in naming variables, methods, functions, types
    • Idiomatic i.e. in Go’s style
  • Passwords should be securely stored such they can't be reverse engineered
  • Make the server thread safe
  • Add pagination to the list endpoint
  • Add unit tests

Built With

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

This list things you need, and how to install them.

  • Go 1.17.1
  • MongoDB 5.0.3

Installation

  1. Clone the repo
    git clone https://github.com/kanitmann/Instagram_backend_API.git
    
  2. Initialize GO
    go mod init github.com/<Github ID>/<Project Name>
    
  3. Build
    go build
    

Screenshots

SS2

Roadmap

See the open issues for a list of proposed features (and known issues).

License

Distributed under the GNU GPL3 License. See LICENSE for more information.

Meet the Team

Made with 💙 by Kanit Mann

# Variables

No description provided by the author