Skip to content

Commit

Permalink
Initial Commit.
Browse files Browse the repository at this point in the history
  • Loading branch information
grayoj committed Jan 6, 2024
0 parents commit 06b7ac9
Show file tree
Hide file tree
Showing 73 changed files with 7,761 additions and 0 deletions.
33 changes: 33 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/
Binary file added .mvn/wrapper/maven-wrapper.jar
Binary file not shown.
18 changes: 18 additions & 0 deletions .mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.7/apache-maven-3.8.7-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.1/maven-wrapper-3.1.1.jar
9 changes: 9 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM openjdk:21-jdk

WORKDIR /app

COPY target/boardend-0.0.1-SNAPSHOT.jar /app

EXPOSE 8080

CMD ["java", "-jar", "boardend-0.0.1-SNAPSHOT.jar"]
41 changes: 41 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Logistics

Have you ever heard the saying "if it works, don't break it?" Maybe I just invented that to excuse some awful code? Haha. But it works.

> It's not really awful code per-say. I intend to clean it up and re-organize it in my free time.
This is an open-sourced Spring Boot + Java microservice that could be used to power a logistics application.


## Features

- Authenticate Users, Riders and Companies via JWT.
- OTP Verification via Email.
- Approve Company accounts before onboarding. You can extend the API to an admin interface.
- Companies can onboard riders, and supply them login credentials.
- Paystack Integration on creating a delivery. Option for Cash.
- Riders being able to accept, pickup, cancel and order. Fundamentally some tweaked CRUD operations.
- API to supply reports, analytics to the companies on deliveries being done.
- Sending receipts and confirmation emails.

So much stuff, really. I cannot cover it all.

## The Stack

- Java 19
- Maven for managing dependencies.
- Spring Boot
- Postgres
- Docker

## Setup

- Clone this current repository.
- Next `cd boardend`
- Run `docker-compose up`
- Access the application on port 5000.
- Have fun.

## Contributing

Feel free, MIT License anyway.
35 changes: 35 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
version: '3'

services:
postgres:
image: postgres
container_name: logistics-postgres
environment:
POSTGRES_DB: logistics
POSTGRES_USER: logistics
POSTGRES_PASSWORD: logistics
ports:
- "5432:5432"

spring-app:
build:
context: .
dockerfile: Dockerfile
container_name: logistics-app
depends_on:
- postgres
ports:
- "8080:8080"
environment:
SPRING_DATASOURCE_URL: jdbc:postgresql://postgres:5432/logistics
SPRING_DATASOURCE_USERNAME: logistics
SPRING_DATASOURCE_PASSWORD: logistics
SPRING_JPA_PROPERTIES_HIBERNATE_JDBC_LOB_NON_CONTEXTUAL_CREATION: "true"
SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT: org.hibernate.dialect.PostgreSQLDialect
SPRING_JPA_HIBERNATE_DDL_AUTO: update
LOGISTICS_APP_JWTSECRET: logisticsSecretKey
LOGISTICS_APP_JWTEXPIRATIONMS: 86400000
LOGISTICS_APP_JWTREFRESHEXPIRATIONMS: 86400000
SERVER_TOMCAT_REMOTE_IP_HEADER: x-forwarded-for
SERVER_TOMCAT_PROTOCOL_HEADER: x-forwarded-proto
SERVER_PORT: 8080
Loading

0 comments on commit 06b7ac9

Please sign in to comment.