Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/new.html #208

Open
wants to merge 241 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
241 commits
Select commit Hold shift + click to select a range
0acc267
Setting up project
Umi007 Jun 17, 2024
709f08e
Update README.md
Umi007 Jun 17, 2024
d9870f6
Created Dockerfile
Umi007 Jun 18, 2024
91f21eb
Merge remote-tracking branch 'refs/remotes/origin/main'
Umi007 Jun 18, 2024
40a901f
Create ci.yml
Umi007 Jun 18, 2024
dbbd359
Connected to cloud db
Umi007 Jun 18, 2024
6688319
commented out singuptest for pipeline
Umi007 Jun 18, 2024
405120c
Merge pull request #1 from The-Socialites/Umi007-ci/cd
Umi007 Jun 18, 2024
5b53565
Create cd.yml
Umi007 Jun 18, 2024
2656c81
Merge pull request #2 from The-Socialites/Umi007-cd
Umi007 Jun 18, 2024
2f158e6
Update cd.yml
Umi007 Jun 18, 2024
8fe9186
Update cd.yml
Umi007 Jun 18, 2024
5191218
reset up cloud db
Umi007 Jun 18, 2024
e8a03d1
Merge remote-tracking branch 'refs/remotes/origin/main'
Umi007 Jun 18, 2024
8b67d17
test
Umi007 Jun 18, 2024
83ec66b
Update cd.yml
Umi007 Jun 18, 2024
97412eb
updated index.html
Umi007 Jun 18, 2024
d902e39
testing
Umi007 Jun 18, 2024
c5a6c4f
updated git ignore
Umi007 Jun 19, 2024
7cc2c33
Delete AWSCLIV2.pkg
Umi007 Jun 19, 2024
2cf332c
db migrations
EthanDunwiddie Jun 19, 2024
0e3a541
add user login form and google login
liuyuanmeng Jun 20, 2024
14a053a
Merge pull request #4 from The-Socialites/feature_google
Umi007 Jun 20, 2024
410d4eb
added events
EthanDunwiddie Jun 20, 2024
fe3a295
reseolved merge conflicts
EthanDunwiddie Jun 20, 2024
c0ee5da
update properties
Umi007 Jun 20, 2024
bec5774
updated aws db
EthanDunwiddie Jun 20, 2024
3ecdb3a
Merge pull request #5 from The-Socialites/events
Umi007 Jun 20, 2024
9ec364c
removed extra input
EthanDunwiddie Jun 20, 2024
ed92f5c
fixed bugs
EthanDunwiddie Jun 20, 2024
b3e57fa
add login-signup css
liuyuanmeng Jun 20, 2024
0e70776
add nav
liuyuanmeng Jun 20, 2024
f19fbb2
dedicated events page
EthanDunwiddie Jun 20, 2024
8683770
sorting out properties
Umi007 Jun 20, 2024
ec12a3e
Merge remote-tracking branch 'refs/remotes/origin/main'
Umi007 Jun 20, 2024
e38a832
add movie api
liuyuanmeng Jun 21, 2024
ec556c8
Merge pull request #6 from The-Socialites/feature_google
Rachel853 Jun 21, 2024
f004880
Styling
Hakim-Kay Jun 21, 2024
ca5b709
Added navbar links work
Hakim-Kay Jun 21, 2024
b5f14d7
Change UserController to LandingPageController
Hakim-Kay Jun 21, 2024
a404e96
add events to the landing page
liuyuanmeng Jun 21, 2024
39d3634
basics working with events API with data coming through to frontend
Jun 21, 2024
c7fc96f
updated events
EthanDunwiddie Jun 21, 2024
4b9702b
link fixed, thumbnail added, date formatted, API key env.var utilised
Jun 21, 2024
57c837b
Merge pull request #7 from The-Socialites/thirdPartyAPI
Rachel853 Jun 21, 2024
99631fe
Update Dockerfile
Umi007 Jun 21, 2024
4ae4f2d
Update Dockerfile
Umi007 Jun 21, 2024
0a6d68a
Update ci.yml
Umi007 Jun 21, 2024
d9275e3
Update Dockerfile
Umi007 Jun 21, 2024
3ac4f72
Update ci.yml
Umi007 Jun 21, 2024
438e654
Update Dockerfile
Umi007 Jun 21, 2024
166fc39
Update Dockerfile
Umi007 Jun 21, 2024
4ec16f4
Update Dockerfile
Umi007 Jun 21, 2024
d958ddd
Update pom.xml
Umi007 Jun 21, 2024
9aae3a6
Update pom.xml
Umi007 Jun 21, 2024
1751a1f
Update Dockerfile
Umi007 Jun 21, 2024
910e5e6
Update pom.xml
Umi007 Jun 21, 2024
fad1810
Update Dockerfile
Umi007 Jun 21, 2024
416fb35
Update pom.xml
Umi007 Jun 21, 2024
3d8023b
Update pom.xml
Umi007 Jun 21, 2024
cd4601c
Update Dockerfile
Umi007 Jun 21, 2024
70b5cd0
Update Dockerfile
Umi007 Jun 21, 2024
e66a703
Update pom.xml
Umi007 Jun 21, 2024
b475983
Update pom.xml
Umi007 Jun 21, 2024
5cfdb6f
Update Dockerfile
Umi007 Jun 21, 2024
f7e6226
Update pom.xml
Umi007 Jun 21, 2024
439744c
Update Dockerfile
Umi007 Jun 21, 2024
ea95951
Update cd.yml
Umi007 Jun 21, 2024
fb50098
Update Dockerfile
Umi007 Jun 21, 2024
3d7f234
Update ThirdPartyEventController.java
Umi007 Jun 21, 2024
d3fea3d
Update pom.xml
Umi007 Jun 21, 2024
45792e3
new db
Umi007 Jun 21, 2024
a388acb
Merge remote-tracking branch 'refs/remotes/origin/main'
Umi007 Jun 21, 2024
9f6af84
dealing with CORS error
Umi007 Jun 21, 2024
c03581d
first commit
Umi007 Jun 23, 2024
af80217
second commit
Umi007 Jun 23, 2024
c7c000e
Integrated filter for events
Umi007 Jun 23, 2024
793ee80
Merge pull request #8 from The-Socialites/uh-branch
Umi007 Jun 23, 2024
83b5a00
sorting out properties
Umi007 Jun 20, 2024
239367d
fixed bugs
EthanDunwiddie Jun 20, 2024
9bc46ae
add login-signup css
liuyuanmeng Jun 20, 2024
05d2901
add movie api
liuyuanmeng Jun 21, 2024
e392966
basics working with events API with data coming through to frontend
Jun 21, 2024
48cdd28
link fixed, thumbnail added, date formatted, API key env.var utilised
Jun 21, 2024
69b596f
Update Dockerfile
Umi007 Jun 21, 2024
2f36d01
Update Dockerfile
Umi007 Jun 21, 2024
b983db4
Update ci.yml
Umi007 Jun 21, 2024
d85e338
Update Dockerfile
Umi007 Jun 21, 2024
bb08d24
Update ci.yml
Umi007 Jun 21, 2024
7d971ba
Update Dockerfile
Umi007 Jun 21, 2024
2249e92
Update Dockerfile
Umi007 Jun 21, 2024
5c0c88c
Update Dockerfile
Umi007 Jun 21, 2024
6303b43
Update pom.xml
Umi007 Jun 21, 2024
7a57cdb
Update pom.xml
Umi007 Jun 21, 2024
a45fdcd
Update Dockerfile
Umi007 Jun 21, 2024
74d35e6
Update pom.xml
Umi007 Jun 21, 2024
b4b1336
Update Dockerfile
Umi007 Jun 21, 2024
acb75ca
Update pom.xml
Umi007 Jun 21, 2024
d65a5fe
Update pom.xml
Umi007 Jun 21, 2024
bde42f0
Update Dockerfile
Umi007 Jun 21, 2024
e96dc22
Update Dockerfile
Umi007 Jun 21, 2024
9d2b95e
Update pom.xml
Umi007 Jun 21, 2024
b519c4f
Update pom.xml
Umi007 Jun 21, 2024
40366e0
Update Dockerfile
Umi007 Jun 21, 2024
4e69b10
Update pom.xml
Umi007 Jun 21, 2024
393533f
Update Dockerfile
Umi007 Jun 21, 2024
b5d0c48
Update cd.yml
Umi007 Jun 21, 2024
8208876
Update Dockerfile
Umi007 Jun 21, 2024
e6baae7
Update ThirdPartyEventController.java
Umi007 Jun 21, 2024
d971531
Update pom.xml
Umi007 Jun 21, 2024
076fc3f
dealing with CORS error
Umi007 Jun 21, 2024
0e25c8c
Fixed merge conflicts
EthanDunwiddie Jun 20, 2024
8f71ece
fixed merge conflicts
EthanDunwiddie Jun 21, 2024
ed94eb8
add page for each event
EthanDunwiddie Jun 24, 2024
e7040df
add user account
liuyuanmeng Jun 24, 2024
605d047
Merge branch 'main' into events
Umi007 Jun 24, 2024
47641aa
Merge pull request #9 from The-Socialites/events
Umi007 Jun 24, 2024
2be4176
fixed indexing
Umi007 Jun 24, 2024
e40a872
fixed db routing
Umi007 Jun 24, 2024
2028945
Updated app-dev properties
Umi007 Jun 24, 2024
065dbf1
create and view comments functionality all created
Jun 24, 2024
dfd170f
create and view comments functionality all created
Jun 24, 2024
5dc6e73
merged with Ethan and Umi's work
Jun 24, 2024
ae8b7ef
fixed routing
Umi007 Jun 24, 2024
1392496
Merge pull request #10 from The-Socialites/Fixing-routing
Umi007 Jun 24, 2024
07ac19f
removed debugging lines
Umi007 Jun 24, 2024
a7b548f
sec config
Umi007 Jun 24, 2024
56d4811
update config
Umi007 Jun 24, 2024
05df8df
sec config
Umi007 Jun 24, 2024
cad4465
updated application properties
Umi007 Jun 24, 2024
a132165
add account and events show on landing page
liuyuanmeng Jun 24, 2024
9c0c4b1
Update Dockerfile
Umi007 Jun 24, 2024
b219844
Update Dockerfile
Umi007 Jun 24, 2024
6f2bde5
Update Dockerfile
Umi007 Jun 24, 2024
a7c5d27
change endpoint
liuyuanmeng Jun 24, 2024
44b46b5
Update Dockerfile
Umi007 Jun 24, 2024
bbfe632
fix conflicts
liuyuanmeng Jun 24, 2024
1fb53cd
Update cd.yml
Umi007 Jun 24, 2024
6f07be1
bugs fixed after merging
Jun 24, 2024
e75aeee
Update cd.yml
Umi007 Jun 24, 2024
84778e6
move events filert to landling page
liuyuanmeng Jun 24, 2024
73d57ea
Update Dockerfile
Umi007 Jun 24, 2024
3e62a4f
Merge pull request #14 from The-Socialites/feature/account
Umi007 Jun 24, 2024
8b17530
Merge branch 'main' into backendComments
Umi007 Jun 24, 2024
b25ee20
Merge pull request #13 from The-Socialites/backendComments
Umi007 Jun 24, 2024
95d457a
debugging
Umi007 Jun 24, 2024
ea378bf
Update cd.yml
Umi007 Jun 24, 2024
2aae54c
Update cd.yml
Umi007 Jun 24, 2024
a9f66de
Update cd.yml
Umi007 Jun 24, 2024
64f76ce
Update cd.yml
Umi007 Jun 24, 2024
e153a48
Update cd.yml
Umi007 Jun 24, 2024
6ac58a8
Update cd.yml
Umi007 Jun 24, 2024
030915a
Update cd.yml
Umi007 Jun 24, 2024
0227bdf
added request mapping
Umi007 Jun 24, 2024
c7b6972
added request mapping
Umi007 Jun 24, 2024
be31edd
third-party events now searchable by date
Jun 24, 2024
f717b91
Merge branch 'main' into backendComments
Jun 24, 2024
c82ae05
fix nav
liuyuanmeng Jun 24, 2024
7b8dba9
Debugging
Umi007 Jun 24, 2024
757ce31
debug
Umi007 Jun 24, 2024
9aeb804
fix nav bar and add api events css
liuyuanmeng Jun 24, 2024
b1f0b26
pom.xml bugs fixed from Daisy's code
Jun 24, 2024
2b248da
Merge branch 'main' into backendComments
Rachel853 Jun 24, 2024
fa7d813
integrated s3
Umi007 Jun 24, 2024
2e666c4
Merge pull request #15 from The-Socialites/backendComments
Umi007 Jun 24, 2024
3008793
Merge pull request #17 from The-Socialites/actual-s3-integration
Umi007 Jun 24, 2024
daa3697
push again
liuyuanmeng Jun 24, 2024
7f1fa8d
Merge branch 'main' into feature/account
liuyuanmeng Jun 24, 2024
38ec389
Merge pull request #18 from The-Socialites/feature/account
liuyuanmeng Jun 24, 2024
bb0d443
fix account css and add search for api events
liuyuanmeng Jun 24, 2024
0f4f703
add link to events list
liuyuanmeng Jun 25, 2024
1e5c09d
Merge pull request #19 from The-Socialites/feature/account
Umi007 Jun 25, 2024
fee2c68
add search for event's location, owner, title, add logo
liuyuanmeng Jun 25, 2024
437ca45
Merge pull request #20 from The-Socialites/feature/account
Umi007 Jun 25, 2024
1864193
added db migration
Umi007 Jun 25, 2024
35d40c5
test in google
liuyuanmeng Jun 25, 2024
36e51e3
Merge remote-tracking branch 'origin/main' into feature/account
liuyuanmeng Jun 25, 2024
337dc9a
cleverly created frontend and backend 'Attending' functionality in Ma…
Jun 25, 2024
7ce4cbe
Merge branch 'main' into AttendingFunctionality
Rachel853 Jun 25, 2024
ba86f75
allow google login user to see account page
liuyuanmeng Jun 25, 2024
d60c85d
Merge pull request #21 from The-Socialites/AttendingFunctionality
Umi007 Jun 25, 2024
f34b687
imports for landingPageController
Jun 25, 2024
13941b6
merged with main
Jun 25, 2024
c599654
events/attend/** removed from authorizeReqs in Security Config
Jun 25, 2024
d030f82
Merge pull request #22 from The-Socialites/bug/non-logged-in-users-se…
Umi007 Jun 25, 2024
d61800c
changed user journey after logging in
Umi007 Jun 25, 2024
74019b0
add isAuthenticated checker
liuyuanmeng Jun 26, 2024
d325a0f
Merge remote-tracking branch 'origin/main' into feature/account
liuyuanmeng Jun 26, 2024
c4e85d6
added encryption, updated update account feature
EthanDunwiddie Jun 26, 2024
bfa0f6e
add logout
liuyuanmeng Jun 26, 2024
7925f43
Merge pull request #23 from The-Socialites/feature/account
Umi007 Jun 26, 2024
b770bb6
dealing with CORS issue
Umi007 Jun 26, 2024
d870e18
Merge remote-tracking branch 'refs/remotes/origin/main'
Umi007 Jun 26, 2024
a42dc3a
Update README.md
Umi007 Jun 26, 2024
5b787eb
fixed mapping issue
Umi007 Jun 26, 2024
dd840ac
updated password check for google login users
EthanDunwiddie Jun 26, 2024
e9edf77
A whole load of styling
Hakim-Kay Jun 26, 2024
3d741c2
Merge pull request #24 from The-Socialites/feature/new.html
Hakim-Kay Jun 26, 2024
990314f
imports for landingPageController
Jun 25, 2024
f72e0b9
changed user journey after logging in
Umi007 Jun 25, 2024
a3f287e
dealing with CORS issue
Umi007 Jun 26, 2024
3e81fe8
fixed event details
Umi007 Jun 26, 2024
f2d2d42
nothing to commit
liuyuanmeng Jun 26, 2024
d0e0344
test in google
liuyuanmeng Jun 25, 2024
fcf590d
allow google login user to see account page
liuyuanmeng Jun 25, 2024
5b2ac54
add isAuthenticated checker
liuyuanmeng Jun 26, 2024
568805d
add logout
liuyuanmeng Jun 26, 2024
6db5e80
Update README.md
Umi007 Jun 26, 2024
da2fde0
fixed mapping issue
Umi007 Jun 26, 2024
d18f875
fix conflicts
liuyuanmeng Jun 26, 2024
4703fa2
added encryption, updated update account feature
EthanDunwiddie Jun 26, 2024
d5bee05
updated account details for OAuth2 users
EthanDunwiddie Jun 26, 2024
d67d63d
adjusted app-dev-properties comments
EthanDunwiddie Jun 26, 2024
e3cbcc0
imports for landingPageController
Jun 25, 2024
f6bd42c
events/attend/** removed from authorizeReqs in Security Config
Jun 25, 2024
cb9bd3d
test in google
liuyuanmeng Jun 25, 2024
bdf84ca
allow google login user to see account page
liuyuanmeng Jun 25, 2024
1f9a183
A whole load of styling
Hakim-Kay Jun 26, 2024
7c6f461
fixed event details
Umi007 Jun 26, 2024
722aa64
added encryption, updated update account feature
EthanDunwiddie Jun 26, 2024
28c8d82
test in google
liuyuanmeng Jun 25, 2024
60198b2
allow google login user to see account page
liuyuanmeng Jun 25, 2024
b94f7e3
added encryption, updated update account feature
EthanDunwiddie Jun 26, 2024
8bad661
fixed merge conflicts
EthanDunwiddie Jun 26, 2024
d7d37fe
Merge branch 'main' into password_encoding
EthanDunwiddie Jun 26, 2024
23f91de
Merge pull request #25 from The-Socialites/password_encoding
EthanDunwiddie Jun 26, 2024
2b5dd5f
save my work
liuyuanmeng Jun 26, 2024
6208ab7
fix
liuyuanmeng Jun 26, 2024
2242649
fixed id
EthanDunwiddie Jun 26, 2024
c71195f
updated user controller
EthanDunwiddie Jun 26, 2024
bc3f9e0
add external links
liuyuanmeng Jun 26, 2024
ee8ebc8
Merge pull request #26 from The-Socialites/feature/landingPage
EthanDunwiddie Jun 26, 2024
57321d6
nothing
Umi007 Jun 26, 2024
17013c9
Merge remote-tracking branch 'refs/remotes/origin/main'
Umi007 Jun 26, 2024
02aabf8
custom error handler
EthanDunwiddie Jun 26, 2024
fc3aae6
Merge pull request #28 from The-Socialites/errorHandling
Umi007 Jun 26, 2024
59396e8
reverted to before password encoding
Umi007 Jun 26, 2024
64ef403
Merge pull request #29 from The-Socialites/fixing-account-page
Umi007 Jun 26, 2024
c35f070
Update UserController.java
Umi007 Jun 26, 2024
db9c844
A whole load of styling
Hakim-Kay Jun 26, 2024
2b158c9
old details page
Hakim-Kay Jun 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: CD Pipeline

on:
push:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1

- name: Login to Amazon ECR
run: aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 471112786669.dkr.ecr.us-east-1.amazonaws.com

- name: Build and Push Docker image for multiple platforms
run: |
export DOCKER_CLI_EXPERIMENTAL=enabled
docker buildx create --use --name mybuilder
docker buildx build --platform linux/amd64,linux/arm64 -t 471112786669.dkr.ecr.us-east-1.amazonaws.com/socialites-app01:latest --push .
docker buildx rm mybuilder

55 changes: 55 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: CI Pipeline

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]

jobs:
build:
runs-on: ubuntu-latest

services:
postgres:
image: postgres:13
ports:
- 5432:5432
env:
POSTGRES_DB: test_db
POSTGRES_USER: test_user
POSTGRES_PASSWORD: test_password
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5

steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'

- name: Cache Maven dependencies
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-

- name: Build with Maven
env:
DB_USERNAME: test_user
DB_PASSWORD: test_password
SPRING_PROFILES_ACTIVE: test
run: mvn clean install -X --debug

- name: Test with Maven
env:
DB_USERNAME: test_user
DB_PASSWORD: test_password
SPRING_PROFILES_ACTIVE: test
run: |
mvn test -X --debug
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ dependency-reduced-pom.xml
.factorypath
.project
.settings/
AWSCLIV2.pkg
33 changes: 33 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Stage 1: Build stage with Maven
FROM maven:3.8.4-openjdk-8 AS build
WORKDIR /app
COPY pom.xml .
RUN mvn dependency:go-offline
COPY src src
RUN mvn clean package -DskipTests

# Stage 2: Production-ready stage with Alpine OpenJDK
FROM openjdk:8-jdk-alpine

# Create a non-root user
RUN addgroup -S spring && adduser -S spring -G spring

# Set the working directory
WORKDIR /app

# Copy the JAR file from the build stage to the image
COPY --from=build /app/target/*.jar app.jar

# Copy application properties
COPY src/main/resources/application.properties /app/config/application.properties
COPY src/main/resources/application-dev.properties /app/config/application-dev.properties

# Change ownership of the application JAR
RUN chown -R spring:spring /app

# Switch to the non-root user
USER spring:spring

# Define the command to run your application
ENTRYPOINT ["java", "-jar", "app.jar"]

89 changes: 3 additions & 86 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# Acebook

This is a java/springboot project to be developed on. There's a video tour of the application [here](https://youtu.be/L1Zi9WOJ6xg) but you should read through these docs first.
# Socialites

The application uses:
- `maven` to build the project
Expand All @@ -17,90 +15,9 @@ Below, you'll find specific learning objectives for each tool.

- Fork and clone this repository to your machine
- Open the codebase in an IDE like InteliJ or VSCode
- Create a new Postgres database called `acebook_springboot_development`
- Create a new Postgres database called `socialites_springboot_development`
- Install Maven `brew install maven`
- Build the app and start the server, using the Maven command `mvn spring-boot:run`
> The database migrations will run automatically at this point
- Visit `http://localhost:8080/users/new` to sign up

## Running the tests

- Install chromedriver using `brew install chromedriver`
- Start the server in a terminal session `mvn spring-boot:run`
- Open a new terminal session and navigate to the Acebook directory
- Run your tests in the second terminal session with `mvn test`

> All the tests should pass. If one or more fail, read the next section.

## Common Setup Issues

### The application is not running

For the feature tests to execute properly, you'll need to have the server running in one terminal session and then use a second terminal session to run the tests.

### Chromedriver is in the wrong place

Selenium uses Chromedriver to interact with the Chrome browser. If you're on a Mac, Chromedriver needs to be in `/usr/local/bin`. You can find out where it is like this `which chromedriver`. If it's in the wrong place, move it using `mv`.

### Chromedriver can't be opened

Your Mac might refuse to open Chromedriver because it's from an unidentified developer. If you see a popup at that point, dismiss it by selecting `Cancel`, then go to `System Preferences`, `Security and Privacy`, `General`. You should see a message telling you that Chromedriver was blocked and, if so, there will be an `Open Anyway` button. Click that and then re-try your tests.

## Existing features

This app already has a few basic features
* A user can sign up at `/users/new`
* A signed up user can sign in at `/login`
* A signed in user can create posts at `/posts`
* A signed in user can sign out at `/logout`

## Design

This app uses the repository pattern. The repository pattern separates the business logic of models from the responsibility of connecting to the database and making queries. Take a look in the `src/main/java/repository` and you'll find `PostRepository` which generates and executes queries to Create, Read, Update and Delete (CRUD) posts. Depending on what you've built in the past, it might or might not feel familiar to you.

## Initial learning goals

You don't need an in-depth knowledge of each dependency listed above. Once you can tick off these learning goals,
you're ready to dive in. It's assumed that you can already TDD the Takeaway Challenge, or something of similar
complexity, in Java. It's OK if you need to pause here with Acebook and learn how to do that now :)

### Maven
- [ ] I can explain what pom.xml is for
- [ ] I can start the app using Maven

### Thymeleaf
- [ ] I can explain the code in `posts/index.html`
- [ ] I can plan a new template that could be used for editing a post

### Flyway
- [ ] I can explain what a migration is
- [ ] I can explain when migrations are run
- [ ] I can explain the code in the two migration files in this directory `/db/migration/`
- [ ] I can explain the naming convention for flyway migration files

### Selenium
- [ ] I can explain the code in `SignUpTest.java`
- [ ] I can write a new feature test for unsuccessful sign up

### Faker
- [ ] I can explain what Faker does
- [ ] I can explain why it's useful

### JUnit4
- [ ] I can explain the code in `PostTest.java`
- [ ] I could add more test cases to `PostTest.java`

### The repository pattern
- [ ] I can explain the repository pattern

### SpringBoot
- [ ] I can diagram how this SpringBoot application handles `GET "/posts"`

### Spring Security
- [ ] I can explain how this app is secured

## Resources


* [Some great videos on Spring Security](https://www.youtube.com/watch?v=sm-8qfMWEV8&list=PLqq-6Pq4lTTYTEooakHchTGglSvkZAjnE). Don't watch them all, but do watch the first couple if you want an overview.
- Visit `http://eventwave.events/register` to sign up

Loading