Skip to content

Commit 898f8f6

Browse files
authored
Update README.md
1 parent f525cec commit 898f8f6

File tree

1 file changed

+86
-1
lines changed

1 file changed

+86
-1
lines changed

README.md

Lines changed: 86 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,86 @@
1-
# React-Spring-WebSocket-Vote
1+
2+
# React-Spring-WebSocket-Vote
3+
4+
## Overview
5+
6+
**React-Spring-WebSocket-Vote** is an application designed for creating and managing polls in real-time using WebSockets. This full-stack project leverages modern technologies like Spring Boot, React, and PostgreSQL to deliver a seamless user experience. The application allows users to participate in polls, see live updates, and ensure secure access with JWT authentication.
7+
8+
## Features
9+
10+
- **Real-Time Polling:** Leverages WebSockets to provide real-time updates to all participants as votes are cast.
11+
- **User Authentication:** Secure authentication using JWT (JSON Web Token) to protect user sessions and data.
12+
- **RESTful API:** Built with Spring Boot to handle the backend logic and database interactions.
13+
- **Modern Frontend:** Developed using React with TypeScript for type-safe code and Axios for API requests.
14+
- **Persistent Storage:** Uses PostgreSQL as the database to store user data, poll information, and vote counts.
15+
- **Deployment:** The application is deployed with Render, ensuring scalable and reliable hosting for the frontend, backend, and database.
16+
17+
## Technologies
18+
19+
- **Frontend:**
20+
- React
21+
- TypeScript
22+
- Axios
23+
- Vit
24+
- Taiwind
25+
- **Backend:**
26+
- Spring Boot
27+
- Java
28+
- WebSocket
29+
- JWT (JSON Web Token)
30+
- Swagger
31+
- **Database:**
32+
- PostgreSQL
33+
- **Deployment:**
34+
- Render (Frontend, Backend, Database)
35+
- Docker
36+
- GitHub Actions (CI/CD)
37+
38+
## Setup and Installation
39+
40+
To get the application up and running locally, follow these steps:
41+
42+
1. **Clone the Repository:**
43+
```bash
44+
git clone https://github.com/AlfredDev/React-Spring-WebSocket-Vote.git
45+
```
46+
47+
2. **Backend:**
48+
- Navigate to the `Vote` directory.
49+
- Ensure you have Java and Maven installed.
50+
- Run the following command to start the Spring Boot application:
51+
```bash
52+
mvn spring-boot:run
53+
```
54+
- The backend will start on `http://localhost:8080`.
55+
56+
3. **Frontend:**
57+
- Navigate to the `votingWebSockets-Front` directory.
58+
- Ensure you have Node.js and npm installed.
59+
- Install the dependencies:
60+
```bash
61+
npm install
62+
```
63+
- Start the development server:
64+
```bash
65+
npm run dev
66+
```
67+
- The frontend will start on `http://localhost:3000`.
68+
69+
4. **Database:**
70+
- Ensure PostgreSQL is installed and running.
71+
- Create a database named `voting_app`.
72+
- Update the database configuration in the `application.properties` file located in the backend project.
73+
74+
5. **CI/CD and Deployment:**
75+
- Docker: The application is containerized using Docker. Ensure Docker is installed on your machine, and use the provided Dockerfile and docker-compose.yml for setting up the containers.
76+
- GitHub Actions: The project includes a CI/CD pipeline using GitHub Actions. The pipeline is configured to build, test, and deploy the application automatically.
77+
78+
## Contributing
79+
80+
Feel free to open issues or submit pull requests if you find bugs or have new features you'd like to add.
81+
82+
## License
83+
84+
This project is licensed under the MIT License.
85+
86+
---

0 commit comments

Comments
 (0)