Skip to content

A platform where parents πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ can explore & reserve activities 🎳 for their children

Notifications You must be signed in to change notification settings

pspanoudakis/Activities-Platform

Β 
Β 

Repository files navigation

Activities Platform

Spring 2022 Semester project for the Software Engineering course in DIT@UoA

Team members

Instructor: Kostas Saidis

About the project

This was a team project focused around creating a platform where parents may explore & reserve activities for their children. There were various goals and best practices to follow:

  • Co-operating as a group
  • Designing, implementing & delivering the product in a Scrum-like sprint fashion
  • Familiarize with SPA and REST API design & development
  • Building & Deploying the product portably & efficiently
  • Sharing code across the product parts in an automated way.

All the project demands & requirements are described in detail in Software-Engineering-Project-Assignment.pdf.

Project phases

  • Designing the UI appearance using Uizard wireframes
  • Designing the project architecture and structure
  • Developing the product

Technologies & Tools used

  • React & Tailwind CSS in front-end applications. The Google Maps API is also used for Maps interoperability.
  • SpringBoot for back-end & REST API. Postman & Thunder Client where used for quick API calls.
  • PostgreSQL is the selected DBMS. The schema was created using DBeaver.
  • Docker
  • NPM package for shared code, with automated publishing using GitHub actions

Project parts

  • Main front-end application for parents (parent-app)
  • Front-end application designed for activity providers (seller-app)
  • Supportive front-end application to be used by the platform administrators (admin-app)
  • Back-end & REST API application (back-end)
  • Shared code NPM package (common-components-lib)
  • Database schema & data (db)
  • Wireframes & User stories created during the initial phase (docs)

Deployment

Docker is required.

  • Clone the repository locally.

  • Before deploying: In order for the front-end application Maps to be functional, go to google-project-key.env and replace REPLACE_KEY_HERE with a valid Google Maps API key for this project. You may skip this if you are not concerned about Google Maps interoperability.

  • Use docker-compose up to trigger the build & deployment process. This will create 5 containers:

    • api-container listening to port 8070
    • database-container listening to port 5432
    • parent-app-container listening to port 3000
    • admin-app-container listening to port 3001
    • seller-app-container listening to port 3002
  • You may then explore the front-end applications in your browser, by visiting localhost:XXXX (in their respective ports).

Parent App features

  • Explore & choose between activity categories
intro.mp4
  • Search activities using various filters
filters.mov
  • Filter activities using home address
address.mov
  • Make an activity reservation
activity.mov
  • Edit profile & payment details
profile.mov
  • Responsive design
responsive.mov

Admin App features

  • Add new users & activate/deactivate existing users
users.mov
  • View platform stats & Approve/Reject pending activities
activities.mov

About

A platform where parents πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ can explore & reserve activities 🎳 for their children

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 68.1%
  • Java 30.2%
  • Other 1.7%