Skip to content

nokacper24/group4webshop

Repository files navigation

Webshop project NTNU Ålesund 2023, Group 04

This repository contains the code for two portfolio projects in the courses IDATA2301 - Web Technologies and IDATA2306 - Application Development at NTNU Ålesund. The former course focuses on front-end web development, while the latter focuses on back-end web development. Both projects were combined into one, resulting in a webshop.

About

Our task was to create a webshop for a fictional company named ProFlex, which sells software to enterprises. Instead of one-time purchases, we decided to have ProFlex sell licenses with expiration dates and a limited number of users to better reflect real-world scenarios.

The website can be accessed at group04.web-tek.ninja. Please note that we only have a public IPv6 address. If your internet connection does not support IPv6, you may not be able to access the website. However, we do have an IPv4 address that is only accessible from NTNU's network. You can check if your internet connection supports IPv6 by visiting ipv6-test.com.

Note: The server may be down and the domain name used for other projects after summer 2023.

Note 2: The mailer service seems to have issues sending emails to NTNU email addresses. If you experience trouble receiving emails from our website, try using a different email address. We recommend using Gmail.

Some technical details

Front-end (IDATA2301)

We used React with TypeScript for the front-end development. For more information, please refer to the webshop_frontend README.

Back-end (IDATA2306)

The back-end was written in Rust, using the Actix framework. We utilized SQLx for database access and PostgreSQL for the database itself. For more information, please refer to the webshop_server README.

Depolyment

For easy deployment, we used Docker.
We build the docker image using Dockerfile, you can run docker build manually and run the image locally if you need to do so.
However, we build the docker image automatically using GithubActions. The image is published to Packages on every push to either main or dev branch, tagging images appropriately. For more information about our deployment process, please refer to the deployment README.