This web application serves as a platform designed for the purpose of image and photo sharing among users. Its primary use case involves photographers sharing images with their clients. Within this system, there are distinct roles: an administrator, typically the photographer, who possesses the capability to generate new collections, modify collection content by adding or deleting photos, and rename collections. Subsequently, the photographer can share a specific link granting the client access exclusively to the designated collection. Within this access, the client can select their preferred images for further work. The aim of this application is to facilitate clearer and easier collaboration between photographers and their clients.
Clone the project.
git clone
Use the package manager npm to install photo app.
npm install foobar
# run project locally
npm run dev
Server side still in work. Run it locally:
git clone git@github.com:SvitlanaRybakova/jsfs-hackday-server.git
npm install
npm run start
The server employs Firebase as the database and Firestore as the storage mechanism. To initiate the project in Firebase, adhere to these outlined steps: firebase
API Endpoints:
-
GET /collections: Returns all collections sorted by collection name.
-
GET /collections/:id: Retrieves a specific collection.
-
PUT /collections/:oldCollectionName: Endpoint requiring the oldCollectionName as a parameter and the new collectionName within the request body to rename the collection title.
-
POST /upload/: Uploads a photo to a particular collection. This endpoint requires the title (string) from the request body and files as an array.
-
DELETE /collection/:id: Deletes a photo from the collection, necessitating the id (string) as a query parameter.