Skip to content

nelsonchoo456/lepark

Repository files navigation

Lepark: A Comprehensive Park Management and Visitor Engagement System for NParks

1731693988663

Advanced Features

  • Rainfall Forecast Module for Daily Irrigation Recommendation
  • Predictive Crowd Insights
  • IoT-Enabled Crowd Levels with Heatmap Visualisations
  • Decarbonization Tracking and Visualisations
  • Customisable Maps
    • Park, Zone Boundaries Designing
  • IoT Monitoring
  • Staff Tasks Management (Plant and Maintenance)
  • Venue Booking System
  • Attractions and Events Booking System
  • Parks Taxonomy Information

System Overview

Lepark is a robust enterprise management system developed to enhance the operational efficiency of park staff and improve the visitor experience at National Parks Board (NParks). It comprises two web-based platforms tailored to meet the needs of park staff and park visitors, all supported by a shared backend to unify operations and engagement.

Lepark Park Staff System

The Lepark Park Staff System is a central platform designed to streamline park operations and resource management. Equipped with real-time environmental monitoring through IoT sensors, it allows staff to efficiently manage plant care, maintain facilities and park assets, and optimize resource use. The system also facilitates improved departmental communication, reducing information silos and ensuring that staff have the data they need to support NParks’ sustainability goals. By integrating these functionalities into a single system, Lepark empowers park staff to make data-driven decisions, enhancing overall park management and operational cohesion.

Lepark Park Visitor System

The Lepark Park Visitor System is an interactive web-based portal focused on enhancing the visitor experience before, during, and after their park visits. Through this platform, visitors can access real-time park updates, explore interactive maps, view event schedules, and engage with educational content on biodiversity. Additionally, the portal offers convenient features such as online ticket purchasing, feedback submission, and access to park announcements, promoting an interactive, educational, and eco-friendly visit. By offering these visitor-centered tools, Lepark enriches visitor engagement and aligns with NParks’ mission of fostering sustainability, biodiversity awareness, and community involvement.

Together, these systems provide a comprehensive solution for NParks, supporting efficient park operations and fostering a positive, educational visitor experience that reflects NParks’ commitment to sustainability and conservation.

How to locally deploy our system

  1. Download and install PostgreSQL and PostGIS

    • For downloading PostgreSQL, follow the instructions for your operating system from the PostgreSQL Download page.
    • For downloading PostGIS, follow the instructions for your operating system from the PostGIS Getting Started page at the "Installing PostGIS" section.
  2. Create a PostgreSQL database locally:

  3. Create a .env file in the root folder that contains:

    DATABASE_URL="postgresql://[username]:[password]@localhost:5432/[databaseName]"
    AWS_ACCESS_KEY_ID="[yourAWSAccessKey]"
    AWS_SECRET_ACCESS_KEY="[yourAWSSecretAccessKey]"
    STRIPE_PUBLISHABLE_KEY="[yourStripePublishableKey]"
    STRIPE_SECRET_KEY="[yourStripeSecretKey]"
    • Replace [username], [password], and [databaseName] with your PostgreSQL credentials.
    • Replace [yourAWSAccessKey] and [yourAWSSecretAccessKey] with your AWS Credentials for your S3 bucket.
    • Replace [yourStripePublishableKey] and [yourStripeSecretKey] with your Stripe Credentials.
  4. In the root folder, run:

    npm install
    
  5. In the root folder, run:

    npx prisma migrate dev
  6. Preload accounts, parks, zones, species and occurrences by running

    node apps/backend/src/utils/seed.js
  7. To start the system, run:

    nx run-many --target=serve --parallel=100
  8. To access the different systems:

  9. Login to Staff system using Superadmin:

  10. Note:

    • If you want to test Reset Password, you have to use a real email account when signing up.

Testing Instructions

Prerequisites

  1. Ensure you have seeded the database first:
node apps/backend/src/utils/seed.js
  1. Start the application:
nx run-many --target=serve --parallel=100

Running Tests

To run all backend tests:

nx e2e backend-e2e --skip-nx-cache --runInBand --verbose

To run a specific test file:

nx e2e backend-e2e --testFile=<filename>.spec.ts --skip-nx-cache --runInBand --verbose

Gallery

Lepark Park Staff System

1731692430036

1731692731707

1731692741974

1731693189981

1731693202254

1731693217117

1731693223912

1731693229539

Lepark Park Visitor System

1731692534359

1731693241402

1731693247082

1731693253472

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors