Pengyou's Logo

PengYou

Your best friend for all things budgeting

Table of Contents
  1. About The Project
  2. Built With
  3. Installation
  4. Acknowledgments
  5. Fun Fact

About The Project

PengYou is a solution project for ImagineHack 2024 by Team Dessert Spoons, it is a platform targetting the people that are interested in improving their financial situation.

Problem Statement

There is a need for an app for people requiring budgeting advice where they can learn day to day tips and tricks and practical budgeting.

Our Mission

The mission of PengYou is to encourage people to form good budgeting habits by making budgeting more friendly to them. We believe in the importance of forming good habits, thus we have introduced a reward system using a virtual pet to motivate people to actively take control of their financial lives.

Values

PengYou will provide a significant amount of value for its users:

  1. Raise Awareness
  2. Tool for budgeting
  3. Reduced Stress
  4. Areas to cut off
  5. Goal Setting
  6. Long-term Security
  7. Practical Learning
  8. Confidence Builder

SDG Goals

PengYou involves the following Sustainable Development Goals:

Goal 1 : No Poverty Goal 4 : Quality Education Goal 8 : Decent work and economic growth

Built With

Installation

There are some prerequisites that need to be set up:

  1. Have a running MongoDB server which can be downloaded from here.
  2. Clone this repository by running git clone https://github.com/Spimy/pengyou.git.

Development

  1. Navigate into the folder.
  2. Run pnpm install to download the dependencies.
  3. Setup environment variables following .env.example.
  4. Run pnpm run dev to run the app in dev mode.

Production

  1. Navigate into the folder.
  2. Run pnpm install to install the dependencies.
  3. Setup environment variables following .env.example.
  4. Run pnpm run build to build the project.
  5. Run pnpm prune --prod to delete all dev dependencies.
  6. Run pnpm run start to start the built project.

You can then reverse proxy into the built project using a web server such as NGINX, Traefik, etc.

Docker

To avoid dependency and build issues, the project has been dockerized.

This automatically sets the adapter to use node adapter for SvelteKit.

This will set up a local MongoDB server and have the SvelteKit app connect to it. If the MongoDB server fails to start, the SvelteKit app will not start. You do not need to set the MongoDB URL in your .env file.

Be sure to have docker installed on your machine first:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  1. Build the image: docker compose build.
  2. Then run the image in a container: docker compose up.

Acknowledgments

Team Dessert Spoons members:

The aforementioned roles are the main role of each member. It is to be noted that we helped and contributed to each other's tasks, especially the frontend. This was to ensure that we have a consistent UI and thus a good UX by working closely and directly with the Graphics and UI designers.

Fun Fact

The name Dessert Spoons is an attempt at rickrolling everyone at the Hackathon.