Site is deployed here!
Orbital Targeted Level of Achievement: Apollo 11
Team JoJo's Circus #2582
Joel Wong & Joseph Marcus
List of core features
- Create an OpenJio invite ✅
- Generate 6-digit shareable code ✅
- Share a link to join the food order to various Telegram groups
- View joined, created and closed (but pending payment) OpenJios 🚧
- Add order and items to an OpenJio ✅
- View current orders in OpenJio ✅
- Add cost of items after OpenJio is closed
- Split delivery cost and discounts among each order
- Mark order as paid
- Access to PayLah! link for payment
- View past orders and outstanding fees owed
- View monthly statistics of orders and spendings 🚧
Problem Identification & Motivation: You’re staying in Hall and craving some supper. You text the Level Telegram group to ask if anyone wants to combine orders. People start asking for the menu so you direct them to an external site. A whole bunch of orders comes in that flood the chat. After the food arrives, you hunt down each person for their payment and the chat is flooded with payment messages. Some people take ages to reply and the message gets drowned. Others do not know what number to pay to and delay payment until someone.
Sounds familiar? Why isn’t there a platform where everyone can consolidate their orders, payments are easy to track, and you can track your expenditure?
Aim: We hope to streamline the food ordering experience by consolidating orders and payments through a Progressive Web App (PWA).
- PostgreSQL
- Express
- React
- NodeJS
If you do not have Node.js installed, it is recommended to install from their site here. This will install the latest version of Node.js along with npm.
If you do not have PostgreSQL installed, download it here.
git clone git@github.com:joelwongjy/OpenJio.git-
To install frontend dependencies,
cdto the frontend directory and runnpm install
-
To run the Ionic app, install the Ionic CLI by running
npm install -g @ionic/cli
-
To install backend dependencies,
cdto the backend directory and runnpm install
-
To create the PostgreSQL databases, in the backend directory, run
./setup_db.sh
If your default Postgres account is not superuser
postgres, switch to superuser by runningsudo -u postgres psql
Alternatively, rename the script to
setup_db_local.shand changepostgresto the default account name. Then run./setup_db_local.sh
-
Run Postgres app and start the server on
Port 5432. -
Start the local backend server by running
npm start
The server should now be running locally on localhost:3001, and the API can be reached via localhost:3001/v1.
The backend server must be running before starting the app.
- Start the app by running
ionic serveThe app should now be running locally on localhost:3000.
The website should be now be live and connected with the backend server and database.