Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/reficul31/codechef-photo-gallery

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/reficul31/codechef-photo-gallery

  • v0.0.0-20180412162616-a3fcca39188d
  • Source
  • Go
  • Socket score

Version published
Created
Source

A photo gallery app made for codechef recruitments 2018

How to Run the Code?

This section describes how the app can be viewed in action.

  • Step 1: Download and setup GoLang
    Install GoLang. Official documentation installation is prefect and will work seamlessly. Please be wary to setup the directory structure as specified in the docs.

  • Step 2: Download the App to your local machine
    Once golang is installed run the following command

go get github.com/reficul31/codechef-photo-gallery

This would fetch the entire application to the following path $GOPATH/src/github.com/reficul31/codechef-photo-gallery

  • Step 3: Running the Server
    Once the application is downloaded, run the following commands in sequence to run the server.
go run main.go

Once the application is running, go to the following link. The dummy account's username and password is

Username: test@test.com
Password: password

API Table

This section describes the API made for and utilized by this app.

Albums

HTTP VerbCRUDPARAMS(JSON)RETURNS(JSON)ENDPOINT
GETReadList of Albums/album
PUTUpdateAlbum ID/album
POSTCreateAlbum Object/album
DELETEDeleteAlbum ID/album

Photo

HTTP VerbCRUDPARAMS(JSON)RETURNS(JSON)ENDPOINT
GETReadList of Photos/photo
PUTUpdatePhoto ID/photo
POSTCreatePhoto Object/photo
DELETEDeletePhoto ID/photo

User

HTTP VerbCRUDPARAMS(JSON)RETURNS(JSON)ENDPOINT
GETReadUser Details/user
PUTUpdateUser ID/user
POSTCreateUser Object/register
DELETEDeleteUser ID/user

TODOS

This section contains all the landmarks that have to be hit in order to complete the challenge successfully

Album

  • An album should have a description (you should implement this, should not be a required field)
  • An album should have a cover photo
  • An album should be editable.
  • Should show date and time of creation
  • An album should be removable (delete)
  • There should be an albums page.
  • An album can have many photos (limit to 1000)
  • An album can be public/private/only people with the url can view (privacy settings)
  • An album can be liked by a logged in user.
  • Bonus: geo location

Photo

  • A photo should have a description (you should implement this, should not be a required field)
  • A photo can only be uploaded to an album
  • Should show date and time of creation
  • A photo should be removable (delete)
  • A photo can be public/private/only people with the url can view (privacy setting)
  • A photo can be liked by a logged in user.
  • Bonus: geo location

User

  • User module should contain
    • username, First name, last name, email, gender, profile picture, password
    • all editable, other than username
  • There should be a user profile page

Bonus

  • Token based authentication on all APIs, instead of session based.
  • Implementation of Forgot and Reset Password end points.
  • Social login via Facebook, Google+, Twitter etc. (OAuth Login)
  • Using of better software engineering principles in the code.

FAQs

Package last updated on 12 Apr 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc