E7fazly is the Arabic word for “save for me”. E7fazly is an All-in-one bookmark manager web application that enables users to save and sort their bookmarks into folders, share these folders with others, and add tags to the bookmarks. E7fazly can handle any kind of bookmark. The only limitation is storage space. :)
Demo:
E7fazlyDemo.mp4
- Authentication using JWT.
- Authorization.
- Centralized error Handling.
- Caching using Redis.
- Input data validation using JOI.
- Email verification using Resend.
- A ton of end-to-end and unit testing using JEST.
- Stateless image handling and serving using Puppeteer.
- Postgresql with Prisma ORM. Check out the database scheme.
- A user’s account comes with a default folder called base_directory, which serves as the root folder for all their bookmarks.
- The base_directory folder is private and cannot be shared with other users. It also contains any unlabeled bookmarks that the user has not assigned to any folder.
- A user can create and nest folders as they wish, without any limit on the number or depth of folders.
- A user can store any number of bookmarks in their folders.
- A user can organize their bookmarks by tagging them with relevant keywords. A user can also view all the bookmarks that have a certain tag.
- A user can share a folder with another user, giving them either view or edit access. The shared folder includes all the bookmarks and subfolders inside it.
- Refactor Testing and Make use of Factory Classes
- Set up a CI pipeline using GitHub Actions.
- Dockerizing the server for easy collaboration.
- Improve Caching strategy.
- Checkout Frontend TODOS.
- Full text search for bookmarks's description.
This app is a collaborative project with Hazem, check out his frontend source code.