Skip to content

Latest commit

 

History

History
377 lines (225 loc) · 16.7 KB

README.md

File metadata and controls

377 lines (225 loc) · 16.7 KB

⚠️ Status Readme: 85% (in process)


Trippie logo

Trippie

| 🎲Features | 🌇Cities-Autocomplete | 💻Tech Stack | 👨‍💻Technical Implementation | 🧑‍🤝‍🧑Our team |


📋Table of contents



🎬Getting Started


💡 What is Trippie?

  • A full-stack web application that simplifies and automates some of the aspects of planning a road trip.

🎯 Target group

  • People organizing a road trip
  • Any car traveler that would like to enrich his journey with additional interesting places.

📜 Project requirements

Definition)

You need to form teams of 3-5people. You will need to define one member as the Team Coordinator and the rest of the members as:
Front End Developer and /or Back End Developer and /or Database Developer.

The requirements are as follows:


  1. The application you need to build is a web app that gives the ability to users to register and login [10 marks]
  2. Your web application needs to be able to connect with a database either locally or remotely [10 marks]
  3. Your application must implement at least two roles[20 marks]
  4. Each rolemust have different tasks and views within the application [10 marks]
  5. The application must have the option to produce reporting views with (custom)filters [10 marks]
  6. The application must have a module that permits internal communication between internal entities which could be (implement at least one of the following): [20 marks]
    a.Real time communication and/or
    b.REST API
  7. The application must support an e-payment process that:[20 marks]
    a.Gives access to read some restricted material e.g. e-book or
    b.Buy some goods, e.g. purchase a digital object

You will submit your project via the MS Teams application. All the members of your team need to submit the same project and the maximum number of members per team is five (5).


🎲Features


✔️ Google Maps integration

✔️ Fast Search Engine of start-destination cities of trip ( just in milliseconds ).
Almost all the cities in the world are included at this search engine.

✔️ A variety of available categories of places.
Short information about each wished place of chosen trip route.

✔️ Real-time communication
user and website support team through chat room.

✔️ Trips management panel.

✔️ Pay method with Paypal account.

✔️ Multi-role user scenarios
( unregistered user | registered user| administrator ).

✔️ User registration and login
with classic way( email and password)

✔️ Sign in with Facebook and Google account.

✔️ Simple contact form.

✔️ Admin Dashboard
with simplified tables of important data and statistics of our application


🌇Cities-Autocomplete


For more specific details and documentation about the service of autocomplete , you should go there

Extra useful resources about this service:


🏃How to run


Follow the below steps to run the application:

1) Firstly, clone the repository.

2) In the Web.config change the connection string so that the "Data Source" matches your SQL Server.

3) Run City-Autcomplete service with Docker. (Please check the instructions in its repository on how to achieve this)

4) In the CreateTrip view replace the Google Maps API Key with your own (the existing key is now invalidated).

5) In the PlacesController replace your OpenTripMaps API Key with your own.

6) Finally,you are ready to run the application

🔝Back


💻Tech Stack


Here are all the , used in project , programming languages and tools with their official recourses.

Front End


Name Website
HTML5 w3schools
CSS3 w3schools
Javascript Vanilla mozilla.docs
Bootstrap official site
Font Awesome official site

Short description

  • The frontend of the application was built using HTML5, CSS3, vanilla JavaScript and Bootstrap 5
  • All the forms is completed with validation and error messages.
  • The template of web application was designed in a way so that each user with one-two clicks to start the application.
  • Based of Bootstrap, we tried to make a repsonsive website.
  • For the maps and directions we used Google's Maps JavaScript API, while for the places we used OpenTripMap API.
  • The autocomplete feature was implemented through a basic custom-made autocomplete service, based on Elasticsearch. The service, which was developed for the purposes of this application, provides a basic free of charge combination of Google's Place Autocomplete and Geocoding API.

Database


Name Website
SQL w3schools
Microsoft Sql Server 2019 Official website
Microsoft Sql Server Management(SSMS) Official website

Short description

  • Wer have code-first approach in our project.At first, we made our models and with help of Entity Framework we builded our database with auto-migration configuration.The database used is a relational database on SQL Server.
  • As seeding, we imported only the login information for the administrator user.
  • For all the processes between our Asp.Net solution and the database SQL, we builded the repositories of TRIP and USER and embedded CRUD functions for these two primaries entities.
    ⚠️Note: You must change the Connection String to connect with your database!!!

Back End


Programming language C#

Short description

  • Authentication was achieved with the built-in authentication of ASP.NET MVC, using the solution template Individual User Accounts.

  • The live chat feature for instant messaging was implemented using SignalR and the payment feature was achieved using Paypal Sandbox, a simple environment to simulate real payments made through Paypal.

  • When necessary Task asynchronous programming was implemented in the controllers.

  • For data sent over API controllers and for data passed to Views, Data Transfer Objects (DTOs) and View Models were used respectively.

🧰Other important tools


Name Official Website
Microsoft Visual Studio 2022 🔗
Microsoft Visual Studio Code 🔗
Microsoft Teams 🔗
Docker 🔗
Postman 🔗
Github 🔗
Canva 🔗

👨‍💻Technical Implementation


  • Core functionality

  • Data transfer
  • Diagram ER Diagram ER

🎁Presentation


  • Our presentation of project is online available here

  • First design prototype of application can be watched here


🧑‍🤝‍🧑Our Team