Skip to content

petarzafirovski/MIS-project-event-planner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

МИС 2023/2024 - EventPlanner

EventPlanner is a cross-platform mobile application made in react native utilizing expo that serves the users of the platform, planning, organizing and creating events of multiple types with one goal to make it smooth and simpler to organize events, rather than the dialing on the phone all day or sending separate messages. Other functionalities are joining an event, seeing which events have I joined, searching an event, uploading a picture for the event and setting location coordinates that can be viusalized in google maps to see where the event is. The mobile app also uses an web API that serves as a web service for creating events, fetching and joining.

The featues of the app are:

  • Custom UI elements: Designed and implemented custom user interface elements to enhance the visual appeal and user experience of the application
  • State management using React Hooks: Utilized React Hooks for efficient state management, simplifying the handling of component-level state
  • Authentication process using Firebase (Register/Login): Implemented user authentication functionalities, including user registration and login processes, using Firebase authentication
  • Camera for uploading images for an event: Integrated camera functionality to allow users to capture and upload images for events
  • Location of the event using Google Maps: Integrated Google Maps to display the location of events, providing users with visual information about event venues
  • Displaying the events, joining an event, creating an event: Implemented features for users to view events, join existing events, and create new events, enhancing the overall event management experience

Software design patterns used:

  • Component-Based Architecture: Structured the application using modular components to enhance code reusability and encapsulate logic
  • Container-Component Pattern: Components were separated into containers (handling logic and state) and presentational components for better maintainability
  • Render Props Pattern: Utilizing the Render Props pattern to pass functions as props, allowing dynamic rendering and behavior, enhancing component flexibility
  • Stack Navigation: Screen navigation was organized in a stack-like manner for seamless transitions between different application screens
  • Tab Navigation: Content was organized into tabs, enabling users to switch between different sets of functionality easily

How to run it?

  • Firstly, startup the web api service with docker compose
  • For react-native local development in android (like in my case), I needed to install locally openjdk-17 (by running choco install -y nodejs-lts microsoft-openjdk17)
  • In the services/Firebase.js add your configuration parameters for Firebase in order to setup the authentication provider
  • Start your simulator by your choice (in my case I used android studio Pixel 7 Pro API 33 (Android 13.0 Tiramisu))
  • Then run npm install and after that in another terminal run npm run android

About

Мобилни информациски системи проект - EventPlanner

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors