Stranger allows you connect with random people around the world.
Connect with either video or text chat and make new friends.
- Phoenix Live View for rich, real-time user experiences
- MongoDB as database
- Vonage Video for interactive live video calls
- Bootstrap for styling
- Create a Phoenix LiveView only app for rich realtime user experience without the need for any page refreshes.
- Some interesting live view features include..
- Multi Step forms
- Server side form validations and LiveView uploads
- Infinite scrolling pages
- Live Components and LiveView hooks
- Other interesting stuff include...
- Use phoenix PubSub for matching users, active user tracking and text chat
- Use ecto embedded schemas along with MongoDB to utilize chagesets for powerfull form validations
- Genservers for user tracking and chat room tracking
- Some meta programming to achieve DRY code
- Use Vonage Video apis to setup realtime video chat capabilities
- Make sure you have elixir and npm installed
- Clone this project
- Install and run mongoDb either locally or elsewhere
- Create a new secret config file
config/dev.decret.exs
using the sample file providedconfig/env.secrets.exs.sample
- Prepare assets: Install node packages
cd assets && npm install
- Run the server from project root
mix phx.server
and visithttp://localhost:4000/
- Enjoy!