Welcome to the project repository of Group 2 in CMPE352 2024. Our team consists of students who are attending Bogazici University's CMPE352 Fundamentals of Software Engineering course. The wiki page of our repository can be found here.
Our project aims to create a platform that allows people to share their thoughts and comments about films, create film lists, and learn some information about films, actors, and directors by utilizing the power of the semantic web.
We have created our requirements about our project and it can be seen here. Also the project plan, user scenarios and mockups can be accessed from the wiki page.
For Use case diagram written in PlantUml, you can refer to below information to render and edit our puml file. I will also add a pdf version of the current file.
To change the use case diagram, you can use a docker image for plantuml server and further add/change features in your localhost.
To achieve this, run the commands in your terminal :
docker pull plantuml/plantuml-server:tomcat (you can use jetty as well as provider)
docker run -d -p 8080:8080 plantuml/plantuml-server:tomcat (run the image, change the first 8080 whatever port you want to use in local)
then open in your browser : http://localhost:8080 (or the port you choose)
You will see the PlantUml server and you can start editing the puml file of ours.
Make sure you have docker installed in your local machine. If not, you can download it from here. To check if you have docker installed, you can run the following command in your terminal:
docker --version
If you have docker installed, you should see the version of docker you have. If you don't see the version, you should install docker.
- Clone the repository:
git clone https://github.com/bounswe/bounswe2024group2.git
- Go into the project folder
cd bounswe2024group2
- Create a
.env
file in the root directory of the project and add the following environment variables:
SECRET_KEY= <your_django_secret_key>
EMAIL_HOST_USER= <your-email-host>
EMAIL_HOST_PASSWORD= <your-email-host-password>
DEBUG=True
MYSQL_ROOT_PASSWORD=password
MYSQL_DATABASE=db
DB_NAME='db'
DB_USER='root'
DB_PASSWORD='password'
DB_HOST='db'
DB_PORT='3306'
One way to generate a Django secret key is to use the following command:
python -c 'from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())'
SemanticFlix uses its own email host to send emails. You can use your own email host to send emails. If you don't have an email host, you can use the email host provided by SemanticFlix. To use the email host provided by SemanticFlix, you can contact the team members.
- Build the docker images
docker-compose build
- Run the docker containers
docker-compose up -d
With these commands, you will start the containers for backend, frontend and database. You can access the frontend from http://localhost:3000
and the backend from http://localhost:8020
. Database will be running on localhost:3037
.