A robust, full-stack social media application built with Spring Boot. This platform enables users to connect, share content, and communicate in real-time.
- User Authentication: Secure registration and login system (JWT/Spring Security).
- Dynamic Feed: Create, read, update, and delete posts with ease.
- Real-time Interaction: Instant messaging/chat functionality powered by WebSockets.
- User Profiles: Customizable profiles to showcase user information and activity.
- Responsive Design: Optimized for both desktop and mobile viewing.
| Layer | Technology |
|---|---|
| Backend | Java, Spring Boot, Spring Security, Hibernate/JPA |
| Database | MySQL / PostgreSQL |
| Real-time | WebSockets / STOMP |
| Frontend | (e.g., Thymeleaf / React / Angular) |
| Build Tool | Maven |
Before you begin, ensure you have the following installed:
- Java 17 or higher
- Maven 3.6+
- MySQL/PostgreSQL (configured and running)
-
Clone the repository:
git clone [https://github.com/raymondoyondi/Social-Network.git](https://github.com/raymondoyondi/Social-Network.git) cd Social-Network -
Configure the database: Update the
src/main/resources/application.properties(or.yml) file with your database credentials:spring.datasource.url=jdbc:mysql://localhost:3306/your_db_name spring.datasource.username=your_username spring.datasource.password=your_password -
Build the project:
mvn clean install -
Run the application:
mvn spring-boot:run
The application should now be accessible at http://localhost:8080.
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/auth/register |
Register a new user |
POST |
/api/auth/login |
Authenticate and get token |
GET |
/api/posts |
Fetch all public posts |
POST |
/api/posts |
Create a new post |
GET |
/ws |
WebSocket connection point |
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.