Application for selling and trading books online.
Tools Used
- Laravel 5.1
- Twitter Bootstrap
- Laravel Socialite for Social Authentication
- Intervention for image manipulation
- Dropzone for uploading book photos
- Beanstalkd and Supervisor to queue email notifications
- Memcached for caching unread messages
Social Login
Regular users can sign-in using Facebook. They have a basic panel that shows conversations about a book for sale and an option to toggle email notifications when they receive a new message.
Adding books for sale
As for this version only admins can put books for sale and manage them. On future versions anyone will be able to. This example shows the UI to add a new book.
Updating book information
Admins have a dashboard that shows a list of books they have created. From here they can create new books, update the information, upload pictures of the book and change the status (for sale or not for sale). This example shows how to add comments about the book being sold.
This other example shows validation. This comments field is optional but if it's filled it should have at least 10 characters.
Uploading images of the book
It is possible to upload images of the book being sold and it will show a gallery with this images in the book's detail page. It is also possible to delete uploaded images.
Changing book status
The following example shows how to prevent a book from appearing as available by changing its status from the dashboard.
Sending messages
From the book's detail page is possible to send a message to the seller. This will add a new entry to the list of conversations to easily navigate to the messages of each conversation.
When a user has unread messages, a notification will appear on their dropdown menu showing the number of unread messages. And the list of conversations will show a label next to each one, showing how many unread messages the user has.
When opening a conversation it will automatically scroll the page to the section where unread messages are. Unread messages will appear in red when opening a conversation.
If the user has enabled notifications an email will be sent containing the message, with a direct link to the conversation.