Netopolis is a social media web application developed as part of the Software Engineering course project. This platform provides a Twitter-like experience with community-based features.
Key Features:
- User Management: Registration, authentication, and profile management with customizable avatars
- Tweet System: Create, edit, delete, and view tweets with support for comments and threaded discussions
- Social Interactions: Like tweets, follow/unfollow users, and view user profiles.
- Discovery: View tweets and users in a feed, with separate experiences for logged-in and non-logged users
- Responsive UI: Interface features a theme inspired by Ancient Greece
Architecture:
- Backend: Java-based MVC architecture with Servlets and JSP
- Database: MySQL with Docker containerization
- Pattern: Repository and Service layer pattern for data access and business logic
- Deployment: Dockerized environment with Docker Compose for easy setup
- Open Docker Desktop and ensure it is running.
- Run the build script to clean the maven project and build the package:
- Linux/MacOS:
./build.sh
- Windows:
build.bat
- Manually:
- clean the maven project: call maven clean
- create the .war file: call maven package
- the .war file should be located in the
target
folder.
- Start the Docker containers using Docker Compose:
docker-compose up --build
- Access the application at http://localhost:8080.
A live demo of the application is available at: Demo in youyube