SLO Food Guide
Dynamic Web Development
SLO Food Guide is a dynamic web application designed to help users discover recommended restaurants in San Luis Obispo. With personalized features, users can create accounts, manage their preferences, and edit their profiles. The app uses a MongoDB backend to store and manage restaurant and user data.
Role: This was a project I worked on by myself!
Problem Statement
San Luis Obispo has a diverse dining scene, but no platform specifically caters to its residents and visitors. Existing tools are scattered, lack personalization, and make it challenging to discover top dining options. SLO Food Guide addresses this by offering a centralized, user-focused platform for exploring recommended restaurants.
Information Architecture
Key Features
1
Account Creation and Management
Users can create an account and manage their profile. Within the application, there is both a login and a register feature. By logging in the user is then authroized and is able to access their data.
Frontend
Built with HTML and styled with CSS, using TypeScript for Lit to create reusable components and manage views dynamically.
2
MongoDB Integration
Restaurant and user data are stored and managed through MongoDB, enabling dynamic interactions.
3
Dynamic Profile Section
Users can update their preferences and edit personal data in real time. Implemented using the MVU (Model-View-Update) architecture and effective state management techniques.
Development
3 Tier Architecture
Backend
A Node.js server written in JavaScript with Express to create REST API endpoints for secure and efficient client-server communication.
4
Single Page Application
The app uses client-side routing with <mu-switch>
for seamless navigation between views.
Database
MongoDB for storing restaurant and user data.
Demo Walkthrough
Below is a video demonstration of the app’s features, including account creation, profile editing, and exploring restaurant recommendations.
Github Repository: https://github.com/mayarotstein/csc-437