Skip to content

fenton512/Autotester2inc

 
 

Repository files navigation

Inno Test

Logo

One line description

Automatically check websites using custom test cases — simple, fast, and without programming skills.

Link to the Demo Video

https://drive.google.com/file/d/1WNYOQuKmBErRn2LTTmfNBKuwV7kP_nsL/view?usp=sharing

Link to product

TODO

Project Goal(s) and Description

The goal of the project is to create a simple and accessible tool for checking websites for basic interface elements such as fields, buttons, and headings. The user enters a URL and specifies what needs to be checked, and the system runs an automated test and provides a result in the form of ✅/❌ for each question.

Implementation checklist

Technical requirements (20 points)

Backend development (8 points)

  • Go-based microservices architecture (minimum 3 services) (3 points)

    Architecture includes testing service, check url service, authorization service, database service

  • RESTful API with Swagger documentation (1 point)

    link to swagger

  • gRPC implementation for communication between microservices (1 point)

    Have not used gRPC

  • PostgreSQL database with proper schema design (1 point)

    Add link to schema here

  • JWT-based authentication and authorization (1 point)

    Implemented JWT-authentication

  • Comprehensive unit and integration tests (1 point)

    Implemented tests

Frontend development (8 points)

  • Flutter-based cross-platform application (mobile + web) (3 points)

    Made cross-platform flutter app

  • Responsive UI design with custom widgets (1 point)

    UI design is responsive and has custom widgets

  • State management implementation (1 point)

    Used Provider

  • Offline data persistence (1 point)

    Have sign in and sign up form with database

  • Unit and widget tests (1 point)

    Implemented tests

  • Support light and dark mode (1 point)

    Implemented theme switching

DevOps & deployment (4 points)

  • Docker compose for all services (1 point)

    Implemented

  • CI/CD pipeline implementation (1 point)

    Implemented

  • Environment configuration management using config files (1 point)

    Implemented

  • GitHub pages for the project (1 point)

    Link to website

Non-Technical Requirements (10 points)

Project management (4 points)

Documentation (4 points)

Code quality (2 points)

  • Consistent code style and formatting during CI/CD pipeline (1 point)

    Implemented

  • Code review participation and resolution (1 point)

    Code was reviewed orally on team meetings

Bonus Features (up to 10 points)

  • Localization for Russian (RU) and English (ENG) languages (2 points)

  • Good UI/UX design (up to 3 points)

  • Integration with external APIs (fitness trackers, health devices) (up to 5 points)

    Our app parses other websites and integrates with DOM architecture

  • Comprehensive error handling and user feedback (up to 2 points)

    Api sends proper responses to handle

  • Advanced animations and transitions (up to 3 points)

  • Widget implementation for native mobile elements (up to 2 points)

    App is cross-platform for web and mobile

Total points implemented: around 28/30 (excluding bonus points)

Setup instructions

To setup application and run it locally you will need to clone the repository:

git clone https://github.com/Golang-Flutter-Course-Project

Quality assurance

Automated tests

To run tests:

Flutter:

cd frontend
flutter test

Go:

cd backend
go test ./...

Build and deployment

Continuous integration

Flutter CI:

Golang CI:

Screenshots of application

Screen1 Screen2 Screen3 Screen4

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Makefile 52.3%
  • Dart 27.4%
  • Go 8.2%
  • C++ 5.1%
  • CMake 2.8%
  • Python 2.5%
  • Other 1.7%