Giter Site home page Giter Site logo

h8-mygram's Introduction

MYGRAM API

MyGram is an application where you can store photos and make comments on other people's photos. This application will be equipped with CRUD (Create, Read, Update, Delete) operations with tables and the following flow:

  • Create: Users can upload their photos to the platform and add accompanying comments.
  • Read: Users can view their own uploaded photos along with comments, as well as browse through photos uploaded by other users and their respective comments.
  • Update: Users can edit the captions or details of their uploaded photos, as well as modify their comments.
  • Delete: Users can delete their uploaded photos, as well as remove their comments from any photo.

This CRUD functionality will provide users with a seamless experience for managing their photos and interactions within the application.

URL Deploy: https://h8-mygram.fly.dev/v1/

Features

User:

  • Register
  • Login
  • Get profile
  • Edit profile
  • Delete profile
Feature User Endpoint Param JWT Token Function
POST /register - NO Register new users (account).
POST /login - NO Log in into account.
GET /users - YES Get account information details.
PUT /users - YES Edit account details.
DELETE /users - YES Delete account.

Photos :

  • Add new Photo
  • Show all list photos
  • Edit photo
  • Show detail photo
  • Delete photo
Feature Photos Endpoint Param JWT Token Function
POST /photos - YES Add new photo.
GET /photos - YES Get all photos.
PUT /photos PHOTO ID YES Edit photo.
GET /photos PHOTO ID YES Get photos details
DELETE /photos PHOTO ID YES Delete photo

Comments :

  • Add new comment
  • Show all my list comments
  • Edit comment
  • Show detail comment
  • Delete comment
Feature Comments Endpoint Param JWT Token Function
POST /comments - YES Add new comment.
GET /comments - YES Get all my comment.
PUT /comments COMMENT ID YES Edit comment.
GET /comments COMMENT ID YES Get comment details
DELETE /comments COMMENT ID YES Delete comment

Social Medias :

  • Add new social media
  • Show all list social media
  • Edit social media
  • Show detail social media
  • Delete social media
Feature Comments Endpoint Param JWT Token Function
POST /socialmedias - YES Add new social media.
GET /socialmedias - YES Get all social media.
PUT /socialmedias SOCIALMEDIA ID YES Edit social media.
GET /socialmedias SOCIALMEDIA ID YES Get social media details
DELETE /socialmedias SOCIALMEDIA ID YES Delete social media

API Documentation

Swagger Postman Collection

ERD

ERD

Run Locally

  1. Clone the project

    $ git clone https://github.com/roihan12/h8-mygram.git
  2. Create new database

  3. Go to project directory

    $ cd mygram
  4. Dont forget to activate the credential for third party api cloudinary,

  5. Create env using env.example format and fill in all value

  6. Download all packages and dependencies

    $ go mod tidy
  7. Run the program

    $ go run .
  8. Enjoy

Built With

๐Ÿ›  Tools

Backend:
GitHub Visual Studio Code Postgres Go JWT Swagger Postman

Deployment:
Docker Ubuntu

Communication:
GitHub

License

Distributed under the MIT License. See LICENSE.txt for more information.

h8-mygram's People

Contributors

roihan12 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.