Skip to content

A project that a colleague and I worked on as part of the internship at the "Globalsoft" company. We developed an app that simulates tests for obtaining a driver's license.

License

Notifications You must be signed in to change notification settings

NedzmijaMuminovic/eDrivingSchool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eDrivingSchool

Welcome to the eDrivingSchool project! This application aims to provide a realistic simulation of tests for obtaining a driver's license, covering various vehicle categories such as cars, motorbikes, and more.

Getting Started

To get started with the project, follow these steps in your terminal:

  1. Clone the repository:

    git clone https://github.com/NedzmijaMuminovic/eDrivingSchool
  2. Navigate to the Docker Compose directory:

    cd eDrivingSchool/Docker-Compose
  3. Run Docker Compose to set up the database:

    docker-compose up
  4. After the database is set up, navigate to the Go API directory in a new terminal window:

    cd eDrivingSchool/Go-API
  5. Install database migration tool for Go:

    go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest
  6. Perform migrations to populate the database with data:

     migrate -database "postgres://admin:admin@localhost:5432/eDrivingSchoolDB?sslmode=disable" -path migrations up
  7. Install dependencies and run the backend:

    go get
    go run main.go
  8. Open the React App directory in a new terminal window:

    cd eDrivingSchool/React-App
  9. Install dependencies and start the frontend:

    npm install
    npm start

User Authentication

To access the app, you need to log in. Use the following credentials:

Basic User:

  • Username: "user"
  • Password: "user"

Admin:

  • Username: "admin"
  • Password: "admin"

Alternatively, create your own profile by clicking on the register option.

Project Structure

The project is organized into two main components:

  • Backend (Go): The backend logic is written in Go, providing the necessary APIs and data for the frontend.

  • Frontend (React): The user interface is developed using React, presenting a user-friendly experience for taking driving tests.

Features

  • Homepage: The app features a homepage with different tests categorized by vehicle types.

  • Test Categories: Each category, such as cars or motorbikes, contains a set of questions for simulation.

  • Quiz-like Interface: Users can go through the questions and select their answers, simulating a real driving test experience.

  • Test Taking: Take timed tests and receive immediate feedback on whether you passed or failed, along with explanations.

Admin Functionalities

  • Admins can add new tests with new questions and options, enhancing the variety of simulated driving scenarios.

Thank you for your interest in our eDrivingSchool project! Happy coding!

Screenshots

User Functionalities

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5 Screenshot 6 Screenshot 7 Screenshot 8

Administrator Functionalities

Screenshot 9

About

A project that a colleague and I worked on as part of the internship at the "Globalsoft" company. We developed an app that simulates tests for obtaining a driver's license.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published