An interactive web application with Compojure and Ring. Users will have the ability to register an account, login with their credentials, store pictures along with descriptions of the picture as well as browse other users' galleries and communicate with each through a real-time chat service. Also, users will have access to weather data (such as temperature and wind) in their respective area. Another feature will be posting comments to peoples' galleries. Finally, users will have the ability to close their account and delete all of the data associated with it.
Ideally, private messaging will be enabled at a later stage of the application where users will be able to contact each other even if direct, real time messaging is unavailable, i.e. there are no other users online.
[x] 1. Register an Account
[x] 2. Login and Logout
[x] 3. Upload Photos
[x] 4. Include Photo Descriptions
[x] 5. Delete Photos and Descriptions
6. Comment on Photos
7. Display Weather Data
8. Implement a real-time chat service
[ ] viable options include Aleph, an asynchronous, Ring-compliant library for client and server network programming, asynch-sockets, clj-sockets as well as other websocket interfaces
[x] 9. Delete Account
[ ] 10. Deploy on Heroku
11. Enable Personal Messaging
You will need PostgreSQL 9.1 or above and Leiningen 1.7.0 or above installed.
To start a web server for the application, run:
lein ring server
This project is inspired by [Web Development with Clojure] (https://pragprog.com/book/dswdcloj/web-development-with-clojure) by Dmitri Sotnikov.
The MIT License (MIT)
Copyright © 2016 Atanas S. Apostolov