Skip to content

raymondoyondi/Social-Network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

360 Commits
 
 
 
 
 
 
 
 
 
 
 
 

🌐 Social Network

A robust, full-stack social media application built with Spring Boot. This platform enables users to connect, share content, and communicate in real-time.


🚀 Features

  • 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.

🛠️ Tech Stack

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

📋 Prerequisites

Before you begin, ensure you have the following installed:

  • Java 17 or higher
  • Maven 3.6+
  • MySQL/PostgreSQL (configured and running)

⚙️ Installation & Setup

  1. Clone the repository:

    git clone [https://github.com/raymondoyondi/Social-Network.git](https://github.com/raymondoyondi/Social-Network.git)
    cd Social-Network
    
  2. 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
    
  3. Build the project:

    mvn clean install
    
  4. Run the application:

    mvn spring-boot:run
    

The application should now be accessible at http://localhost:8080.


🛣️ API Endpoints (Preview)

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

🤝 Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📄 License

Distributed under the MIT License. See LICENSE for more information.

About

A full-stack social media platform built using Spring Boot, featuring user authentication, posts, and real-time chat.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors