SocialSphere is a full-stack social media web application. It leverages Java-based technologies to deliver secure, scalable, and efficient social interaction functionality. The application uses Spring Boot, Spring JPA, and Spring Security for backend development, PostgreSQL as the database, Docker for containerization, Docker Compose for orchestration, and Fly.io for cloud-based deployment.
- Backend Framework: Spring Boot
- Database: PostgreSQL (managed with Spring Data JPA)
- Security Framework: Spring Security (JWT-based authentication and role-based authorization)
- Containerization: Docker, Docker Compose
- Cloud Platform: Fly.io (container-based hosting)
- JWT Authentication with secure signup and login mechanisms.
- Password encryption using Spring Security.
- Role-based access control (e.g., User, Admin).
- User profiles creation and management.
- Posting, editing, and deleting posts.
- Commenting on posts.
- Follow and unfollow users functionality.
- Data persistence with PostgreSQL.
- Spring Data JPA for efficient ORM (Object-Relational Mapping).
- Dockerfile provided for creating containerized builds.
- Docker Compose file included for local setup and orchestration.
- Deployed to Fly.io for scalable and robust hosting.
- Java 17+
- Maven
- Docker & Docker Compose
git clone https://github.com/your-username/socialsphere.git
cd socialspheremvn clean package -DskipTestsdocker-compose up -dhttp://localhost:8080
SocialSphere implements the following security measures:
- JWT tokens for stateless authentication.
- Passwords stored securely using hashing
- Role-based access control to ensure proper authorization of user actions.