GitCodings / Stack

Parent POM for Stack Projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Stack

A Web Project designed after CS122B at UCI. CS122B Syllabus

Backend

Backend 0: Basic Service

Basic Spring Boot service to learn the basics of Spring.
Starter Template

Backend 1: IDM Service

The Identity Management Service for User to Login and Register as well as AccessToken creation, refreshing, and verification.
Starter Template

Backend 2: Movies Service

The Movie search Service allowing Users to search for Movies and Persons using search parameters.
Starter Template

Backend 3: Billing Service

The Billing Service for User cart management and order creation, confirmation and history.
Starter Template

Backend 4: Gateway Service

The Gateway Service to bring together the IDM, Movies and Billing Service by either forwarding IDM Requests to IDM Service or Authenticating all other incoming requests with the IDM before forwarding them to either the Movies or Billing Services.
Starter Template

Frontend

Frontend: Starter

Starter code that will be used through all three parts of the front end.
Starter Template

Frontend 1: Register

Start of Frontend. Develop the Register endpoint and make a call to our IDM Service.
Documentation

Frontend 2: Search

Movies Search. Create a interactive search page to search through our movies.
Documentation

Frontend 3: Full

Full implementation of our Backend services to our frontend through our gateway.
Documentation

Activities

Activity 1: Spring

An intro into the basics of Spring
Repository

Activity 2: Security

Service security using: Password Salt + Hashing, JSON Web Tokens, and Refresh Tokens.
Repository

Activity 3: Database

Connecting to SQL Databases through Spring's NamedParameterJDBCTemplate.
Repository

Activity 4: SQL

Advanced SQL query creation with dynamic queries.
Repository

Activity 5: Stripe

Communication with the Stripe API with the Stripe SDK for managing user payments.
Repository

Activity 6: Reactor

Reactor Core with dealing with Mono and Flux calls.
Repository

Languages

Java OpenJDK

We are using the OpenJDK of Java.
Version 8
Adoptium Download
Azul Zulu Download

SQL

MySQL is the Dialect for this project.
Version 8.0.x
MySQL Community Server Download

Javascript

Project is written to target Node.js.
Version 16.14.x LTS
Node.js Download

JSON

The primary object representation we will be using for communication between our services and our frontend
JSON

HTML

While we will not be using raw html, React uses JSX that represent html components.
React JSX

CSS

CSS can either be written as css files and imported directly, or made with styled-components.
styled-components

Tools

JetBrains Toolbox

Manages all JetBrains applications. You can use this to download IntelliJ IDEA Ultimate and WebStorm.
Download

IntelliJ IDEA Ultimate

IDE for developing Java projects with internal support for database management.
Website

WebStorm

IDE for developing Javascript projects.
Website

Postman

A platform for creating REST calls to our services for testing.
Note: The web client will not work as it does not allow calls to localhost please download the app instead.
Download

GitHub Desktop

A UI for Git that works with GitHub projects.
Download

Frameworks

Spring Boot

A Java framework that helps develop web applications.
Website

React

A Javascript framework that helps with web UI development by helping us easily control the DOM of the website.
Website

Stack Dependencies

Maven - JitPack

Repository

  <repositories>
    <repository>
      <id>jitpack.io</id>
      <url>https://jitpack.io</url>
    </repository>
  </repositories>

Stack-Core

Dependency

  <dependency>
    <groupId>com.gitcodings.stack</groupId>
    <artifactId>stack-core</artifactId>
    <version>1.2.0</version>
  </dependency>

Stack-Parent

Dependency

  <dependency>
    <groupId>com.gitcodings.stack</groupId>
    <artifactId>stack-parent</artifactId>
    <version>1.2.0</version>
  </dependency>

About

Parent POM for Stack Projects

License:MIT License


Languages

Language:Java 100.0%