Key Features • How To Use • Demo • Credits • Contributors
- Register for free to the chat
- Can choose your username (with emojis 🐵) and chat bubble color
- Create voting events with the command
/create option1 vs option2
- Closing the current voting event with the command
/close
- Only admins can create and close a voting event with the proper commands
- All member logged in to the chat included admins can vote with the command
#voteOption
- If you are a default member you only can vote but not create and close an event
- See the results chart of the votes in real-time
To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:
# Clone this repository
$ git clone https://github.com/thomasnrggo/flamewars.git
# Go into the repository
$ cd flamewars
# Install dependencies
$ npm install
#Set your environment variables renaming the env.local.example template to env.local
BASE_URL=http://your-project-path
JWT_SECRET=a-secret-key-for-jwt-tokens
# Run the app
$ npm run dev
At this point there's no need to create a database for the users, there are registered on the server.js file in the root project. Soon we're gonna implement some database service to store all the data.
If you want to test the admin commands to create voting events you can manually add a user with role: "admin"
in the server.js
file located in the project's root or use the test user: username: admin, password: 123.
You can view the latest build for the app here.
This software uses the following open source packages:
- Socket.io 4.0 • Websockets for the real time messages in chat
- Node.js 15 • Needed for mounting the server for sockets
- Express.js 4.17 • Needed for mounting the server for sockets
- Next.js 10.1 • For learning purposes
- React.js 17.0 • Building the UI
- Heroku • Deployment
With the supervision of Erik Ochoa, Academic Coach at Platzi Master
- When2Meet Clone - An event planner for crowds
This app was created with 💚 by:
Anthony Gonzalez · thomasnrggo.com · Web Designer · Frontend Developer · GitHub @thomasnrggo · Twitter @thomasnrggo
Juan Daniel Martínez · juanda.dev · Frontend Developer · GitHub @juandadev · Twitter @juanda_dev_