/WPD

Primary LanguageJavaScript

WPD - Wichita Police Department

Folders

  • wpd-api: Backend side folder
  • wpd_app: Mobile App folder
  • wpd-webview: Information page when the user scan the QR Code
  • design: Adobe XD files and assets
  • journals
    - Abdulrahman
    - Andrew
    - Dhari
    - Elina
  • weekly_minutes: Folder compiled of our team's weekly minutes.
  • reports: Folder compiled of previous/current semesters class assignments.
  • slides: Folder compiled of PowerPoint slides from class assignment.

Team members (roles) - We Can Do It Team

  • Dhari Alenezi: Mobile & backend developer.
  • Elina Do: Database Developer
  • Andrew Nguyen: Full-Stack Developer
  • Abdulrahman Alharbi: UI & UX Designer

Videos

Technologies & Programming Languages

  • Mobile APP, we used Flutter SDK & Dart programming language.

  • Backend side, we used Node.js & Javascript programming language.

  • Database, we used MongoDB (NoSql) database.

Software Architectural Pattern

  • Mobile APP -> MVVM (Model–view–viewmodel)
  • Backend -> MVC (Model–view–controller)

Project Structure

Usage

WPD Backend & Webview

1 - Open the wpd-api folder
2 - Create config folder
3 - Create config.env file
4 - Add these

# NODE_ENV=development
PORT=3000

MONGODB_URL=<URL>

FILE_UPLOAD_PATH=./src/public/uploads
MAX_FILE_UPLOAD=1000000

JWT_SECRET=<SECRET>
# JWT_COOKIE_EXPIRE=30

SENDGRID_API_KEY=<KEY>

DO_SPACES_ENDPOINT=<ENDPOINT>
DO_SPACES_KEY=<KEY>
DO_SPACES_SECRET=<SECRET>
DO_SPACES_NAME=<SPACE>

5- Run

npm install

6- run the app

npm run dev

Mobile Application

1 - Open the wpd_app folder
2- run

flutter pub get

3- run

flutter run

Database Seeder

To seed the database with users and cases with data from the "_data" folder, run

# Destroy all data
node src/seeder -d

# Import all data
node src/seeder -i