Skip to content

Digital Library web application made using Next.js, GraphQL, PostgreSQL.

Notifications You must be signed in to change notification settings

Nojus0/digital-library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digital Library

Contribute with Gitpod Open in Codeflow

A web app meant for libraries, and its visitors. Visitors can view all the available books, and view what their friends are currently reading. By going to their profile. Demo deployed here for testing purposes.

Images

The images are processed and compressed on the client-side using the Compressor javascript library, and then sent to a S3 presigned upload URL with the size limited to 1MB. For more flexibility, you can easily add a GraphQL Mutation that processes the images server-side using the sharp npm package.

Hosting

The book covers are uploaded to AWS S3 and cached using AWS Cloudfront so users all around the world experience low latency.

The GraphQL API is hosted on AWS Lambda so the web app can handle a high or low amount of traffic. While being cheap.

The application database is a PostgreSQL database hosted on AWS RDS.

The Next.JS frontend is hosted using Vercel.

Notes

To make the web app even more scalable, switch the database to AWS DynamoDB. Though in order to achieve this you would need to make major changes to the backend.

The user authentication is achieved by using a single JWT token, if you need more control add an additional refresh token or instead of using jwt tokens use session tokens stored in Redis.

Designed in Figma

https://www.figma.com/file/wDSMG2wQ2OrdMRpvtCkeyw/Digital-Library?node-id=323%3A90

Home Page Login Page Register Page Books List Page Search Bar Books Search Bar User Book Page Administrator Profile Page Consumer Profile Page Manage Profile Add Book Page Edit Book Delete Book

About

Digital Library web application made using Next.js, GraphQL, PostgreSQL.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published