Instagram_Backend_API

command module
v0.0.0-...-6fd8305 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 9, 2021 License: GPL-3.0 Imports: 13 Imported by: 0

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

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL