Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

image

heyBook

A Peer-to-Peer Proof-Of-Concept Book Exchange Platform! This project was completed as part of an evaluation for an internship role at heymax.ai

About The Project

This web application will facilitate easy listing, searching, and exchanging of books among users. This POC encourages users to donate their unwanted books and support book exchanges. The core features are as followed:

  • Depositing of a book
  • Withdrawal of a book
  • Being notified of a book being deposited or withdrawn from heyBook via Telegram. Notifying a user when a new book has been deposited or withdrawn provides a much more user-friendly experience as the user does not need to keep checking the heyBook website to be kept up to date.

Quick Demo

https://youtu.be/fdQDjhW_JUs

Built With

Getting Started

To get a local copy up and running follow these simple example steps.

  1. Clone this repository
  2. Get a free Telegram token and chat id from Telegram
  3. Edit backend/.env with your database secrets, telegram token, and telegram chat id
dbhost=
user=
password=
database=
telegram_token=
telegram_chat_id=
  1. Copy data from backend/db.sql and run in MySQL
  2. cd into backend, start both Python services first. This should start a Flask server on Port 5000 (for book.py) and Port 5001 (for telegram_service.py)
Python book.py
Python telegram_service.py
  1. cd into frontend, and type npm run dev to start the web application
npm run dev

Future project extension

Given the limited time of 24 hours to complete this project, I prioritized the core features and frontend design for the best possible user experience for a POC. If given more time, here is what I could have done better:

  1. Included unit tests using pytest
  2. Included filter option and search query for frontend
  3. Included a message broker (RabbitMQ) for sending messages asynchronously to Telegram API. This will help to further decouple the book service from telegram API service.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages