Skip to content

THM - Webbasierte Systeme 2 - Sommersemester 2018 - Gruppenarbeit

License

Notifications You must be signed in to change notification settings

jonatanschneider/auctionary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auctionary

This app is a digital auction house.

  • Create/Update/Delete auctions in the Seller Dashboard
  • Browse/See/Bid auctions in the Customer section
  • Browse your purchases and your lost auctions

Technology

Server

Regarding the server express is being used, which is connected to a MongoDB database containing all information on the items as well as information on users (seller/customer).

Client

The client frontend is written in Angular. As a Framework, we want to use Material Design to style our application. We use SCSS to create custom style definitions.

Connection

The communication between server and client takes place with AJAX requests (for product detail pages etc.) and with io websockets (live-update of article bids).

We use Promises to sync callbacks of requests.

Authentication

Authentication will be possible with common social media logins such as Google+, Facebook, Instagram and Twitter using oAuth2. User data will be persisted in our MongoDB database.

Running instructions

Using the run script

Note: This feature is still in development.

Prerequisites

Before using the run script:

  • Make sure Node.js is installed
  • Install the SSL certificates. Please have a look at the SSL certificates section for further instructions.
  • Install MongoDB. Please have a loog at the Database section for further instructions. You only need to install MongoDB, you do not need to run it!

Executing the run script

  • [WIN]: Execute run.bat. The script will take care of all necessary steps for you to run the app in development mode.
  • [UNIX]: Execute ./run.sh. The script will take care of all necessary steps for you to run the app in development mode.

Node.js

Hint: Make sure to use the LTS version.

[WIN]: You may need to restart your machine to use Node.js commands

  • Install TypeScript npm i -g typescript
  • Install Angular npm i -g @angular/cli

SSL certificates

  • Navigate to server directory using cd server
  • Create new folder (if not exist) using mkdir sslcert
  • Navigate to new sslcert directory using cd sslcert
  • [WIN]: Download and install WIN32OpenSSL
  • [WIN]: Add your installation path to your environment path variable
  • [WIN]: Create your own personal SSL certificates using openssl req -x509 -out localhost.crt -keyout localhost.key -newkey rsa:2048 -nodes -sha256 -subj "//CN=localhost"
  • [UNIX]: Create your own personal SSL certificates using openssl req -x509 -out localhost.crt -keyout localhost.key -newkey rsa:2048 -nodes -sha256 -subj "/CN=localhost"

Database

  • Download and install MongoDB - Community Server
  • Make sure your installation path of MongoDB is available in your environmental path variable
  • Run your database using mongod -dbPath "<path-to-your-mongodb-running-directory>"

[WIN]: You may need to restart your machine before using the command mongod or using the run script

Server

Note: To run your server, you first need to generate your own personal SSL certificate

Note: To run your server, the database must be running.

Note: To be able to compile your typescript files, typescript must be installed. If you haven't already, install it using npm install -g typescript. You may need to restart your terminal/console to recognize the tsc command. You can check for a successfull installation using which tsc.

Navigate to server directory using cd server.

  • Run npm install
  • Duplicate server/auth/AuthentiationConfig.skeleton and rename it to AuthenticationConfig.ts
  • Fill in your personal API information to the specified login methods in server/auth/AuthenticationConfig.ts

You now have multiple opportunities:

  • Compile the server application using npm run-script compile
  • Run the server application using npm run-script run
  • Compile and run the server application using npm run-script start (preferred)

Client

Note: Developing is possible with a local testing server (on port 4200) and with a running server. The second choice is recommended

Note: Build options marked with 1 need a running server. See server for further instructions

Navigate to client directory using cd client.

  • Run npm install

You now have multiple opportunities:

  • Run the client on a standalone testing server using ng s -o
  • Run the client in development mode delivered by the server using npm run-script build 1
  • Run the client in production mode delivered by the server using npm run-script build-prod 1

Styling the client

Since Angular Material is used to style this web app, you can use all elements listed on Angular Material

For layouting Angular Flex Layout is being used

About

THM - Webbasierte Systeme 2 - Sommersemester 2018 - Gruppenarbeit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published