Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/heismanish/scalable-voting-app
A scalable realtime voting application using websockets and redis.
https://github.com/heismanish/scalable-voting-app
nextjs nextjs14 redis shadcn typescript websocket
Last synced: 30 days ago
JSON representation
A scalable realtime voting application using websockets and redis.
- Host: GitHub
- URL: https://github.com/heismanish/scalable-voting-app
- Owner: Heismanish
- Created: 2024-05-26T08:17:59.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-07-06T15:03:35.000Z (6 months ago)
- Last Synced: 2024-07-06T16:23:38.611Z (6 months ago)
- Topics: nextjs, nextjs14, redis, shadcn, typescript, websocket
- Language: TypeScript
- Homepage: https://scalable-voting-app-nu.vercel.app
- Size: 415 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Scalable Realtime Voting Application:
**DEMO:** [Link T0 YT](https://www.youtube.com/watch?v=2-DsiAT4-VM)
## Starting the client(navigate to `/client`):
First, navigate to the `client` direcotory and run the development server:
1. Add redis credentials( from [upstash](https://upstash.com/) ) in an `.env` file as:
```bash
UPSTASH_REDIS_REST_URL=""
UPSTASH_REDIS_REST_TOKEN=""
```
2. Install the dependencies and modules:
```bash
npm install
```
3. Start the nextjs project
```bash
npm run dev
```## Starting the server(navigate to `/server`):
1. Add redis credentials( from [upstash](https://upstash.com/) ) in an `.env` file as:
```shell
REDIS_CONNECTION_STRING =""
```
2. Install the dependencies and modules:
```bash
npm install
```
3. Start the server (assuming you have typescript compiler installed locally )
```bash
tsc
nodemon dist/index.js
```## Perview:
![Homepage](./homepage.png)
![VotingPage](./voting.png)## Resources:
To render votes : [WorldCloud](https://airbnb.io/visx/wordcloud) from airbnb