An e-commerce platform developed as a project for the Ingegneria del Software (Software Engineering) course, part of the Computer Science Bachelor's Degree program at the University of Salerno
Name | GitHub profile |
---|---|
Aviello Raffaele | raffaeleav |
Di Domenico Francesco | FrancescoDD00 |
Menzione Michele | Michibit |
Sautariello Salvatore | SSalvatore001 |
Card EXchange was developed with the goal of appraoching software development as a team, with the aid of corporate collaboration tools such as Slack and Trello. The project covered all phases of waterfall development method, from requirements gathering to testing. The web application offers to users the ability to explore a wide range of collectible trading cards, purchase them, leave reviews, trade cards with other users, and participate in discussions on a forum.
- Purchase collectible trading cards
- Create a discussion on the forum
- Participate in a discussion on the forum
- Leave a review of a purchased product
- Trade cards with other users
- Clone the repository
git clone https://github.com/raffaeleav/card-exchange.git
- Switch to the project directory
cd card-exchange
- Execute the database script (be sure to change the mysql server credentials in storage.ConPool)
sudo mysql -u root -p < ./src/main/webapp/database/database.sql
- Populate the database
sudo mysql -u root -p < ./src/main/webapp/database/popola-db.sql
sudo mysql -u root -p < ./src/main/webapp/database/popola-db-card.sql
- Build the project
mvn install
- Copy the .war file to the webapps directory of your Tomcat server
sudo cp target/ProgettoIS-1.0-SNAPSHOT.war /opt/tomcat/apache-tomcat-10.1.30/webapps
- Start the Tomcat server (assuming you have created a tomcat systemd service)
sudo systemctl start tomcat
- Open the browser and access the webapp running at localhost
xdg-open 'http://localhost/popshop-retry-1.0-SNAPSHOT'
- Java - used for the backend implementation and business logic of the web app
- HTML - used for the frontend development of the web app
- CSS - used for formatting and managing the responsive layout of the web app
- JavaScript - used for form validation
- AJAX - used for making asynchronous calls during product searches
- SQL - used for implementing the physical schema of the database
- Maven - used for for dependency management