Skip to content

A cross-platform hybrid mobile app that allows users to post and search for recipes

Notifications You must be signed in to change notification settings

putthidaSR/Your-Recipe-Mobile-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Your Secret Recipe Mobile Application

The goal of this project is to design and implement the full-stack database application in which the database backend is to be implemented on cloud. We built a cross-platform hybrid mobile application that allows users to post and view different recipes. Some of the features include:

  • User Registration
  • Ability to post recipes
  • Update/delete existing recipes
  • Search for specific recipes
  • Save your favorite recipes

Project Structure Overview

├── assets
├── client
│   ├── ios
│   ├── android
│   ├── src
│   ├── index.js
│   ├── package.json
├── server
│   ├── controllers
│   ├── routes
│   ├── views
│   ├── app.js
│
  • assets/ : store additional screenshots/diagrams
  • client/ : store front-end code (mobile app)
  • server/ : store back-end code to communicate with client, and all logics to communicate/connect with Azure Dabatase

See README under client directory and server directory for more details.


Project Architecture

ProjectArchitecture

Our Technology Stack:


Database Designs

ERDiagram

The database schema above has been normalized into Four Normal Form (4NF), and there is no multi-valued dependencies. Azure Database For MySQL is used for data storage, querying and managing data.

Database functionalities that were used in the application includes:

  • Transactions
  • Views
  • Indexing
  • Constraints (Keys, Attribute-based and Tuple-based check)
  • Triggers
  • Stored Procedure and Functions
  • Security and Authorization

How to run the Server locally

In the terminal:

  • Navigate to the server directory: cd server
  • Run: npm install (you only need to execute this for the first time or whenever new dependency is added)
  • Start the app: npm start
  • Go to your browser: http://localhost:8080/

Note: Port number and server IP address can be updated in: ./server/bin/www

See README under server directory for more details.

How to run the Client locally

In another terminal:

  • Navigate to the client directory: cd client
  • Run npm install to install all dependencies.
  • Run npm start to start the app
  • Run on iOS: react-native run-ios
  • Run on Android: react-native run-android

See README under client directory for more details.


Useful CLI commmands With Heroku:

Both client and server code are currently deployed to Heroku: https://vast-bastion-59857.herokuapp.com/

  • Push the latest code from master branch to Heroku (admin only): git subtree push --prefix server heroku master
  • Access the front-end of the NodeJS application: heroku open
  • Restart the server: heroku restart
  • Display recent logs output: heroku logs

See here for more commands on how to monitor heroku logs: Heroku Log Commands

View all Heroku commands: Heroku CLI Commands


Application Screenshots

Sign-up Sign-in Homepage User Account
sign-up sign-in homepage account
Post a New Recipe Post a New Recipe Upload Recipe View All Recipes A Current Logged-in user Posted
post-recipe1 post-recipe2 upload view-recipe
View Recipe Full Details Edit Recipe Name Recipe With Updated Name Delete Recipe
full-details edit-recipe-name new-recipe-name delete-recipe
Search Recipes From Any Users Search Recipes From Any Users View Recipe Full Details
search-recipe-no-result search-with-results search-full-detail

About

A cross-platform hybrid mobile app that allows users to post and search for recipes

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published