Skip to content

Rakibul73/rtc_project_fronend

Repository files navigation

🌟 PSTU RTC Project Management (Frontend)🌟

An innovative initiative to improve research and training at any university.


With the goal of improving research and training initiatives at any institution, the "PSTU RTC Project Management" is a ground-breaking project created with the Flutter framework (frontend), Python (Flask backend), and MySQL database. Administrators have full authority over the system, including monitoring, modifying, and managing research projects, while researchers may submit, manage, and update their project ideas. The Reviewer Panel, which enables designated reviewers to assess and offer input on research project proposals, is one of this system's key components.
This Website uses this Python (Flask) backend PSTU RTC Project Management Backend

Features

  • Streamlined administrative processes

    • Admin can view , edit , delete and verify pending registered users
    • Admin can view User Overview info
    • Admin can search , view , edit and delete all users
    • Admin can view Projects Overview info
    • Admin can search , view , edit and delete all Projects
    • Admin can approve / reject users project proposals based on review feedback
    • Admin can set project review feedback
    • Online notice board for project proposals
    • Project deletion request from normal user must be handled
    • Notification panel for admin must be handled
    • Project funding functionality
    • Project monitoring functionality
  • Role-based access control

  • User registration and secure login

  • User can give review to the project that he have assigned to

  • Author of the project can see his projects review if admin sends it to him

  • User profile section

  • Generate PDF report for every section

  • Notification panel for user must be handled

  • Project funding functionality where user can manage their projects funds.

  • Project monitoring functionality where PI & reviewer can co-operate to handle the project completion.

Installation

  • You should have properly installed Flutter version 3.16.0 | Dart version 3.2.0 in your machine.
  • Clone the repository to your local machine.
  • Run this in terminal to install the required packages.
flutter packages get
  • Run the app using
flutter run

if below error come from api calling

HandshakeException: Handshake error in client (OS Error: CERTIFICATE_VERIFY_FAILED: certificate has expired(handshake.cc:393))

Then use this video https://youtu.be/aaXMUM-_4lQ

or

Step 1: In your main.dart file, add or import the following class:

class PostHttpOverrides extends HttpOverrides{
  @override
  HttpClient createHttpClient(context){
    return super.createHttpClient(context)
      ..badCertificateCallback = (X509Certificate cert, String host, int port)=> true;
  }
}

Step 2: Add the following line after function definition In your main function:

HttpOverrides.global = new PostHttpOverrides();

Example :

import 'dart:io';
 
 
import 'package:flutter/material.dart';
import 'package:point/routes.dart';
import 'package:point/theme.dart';
 
import 'login/LoginScreen.dart';
 
class PostHttpOverrides extends HttpOverrides{
  @override
  HttpClient createHttpClient( context){
    return super.createHttpClient(context)
      ..badCertificateCallback = (X509Certificate cert, String host, int port)=> true;
  }
}
 
void main() {
  HttpOverrides.global = new PostHttpOverrides();
  runApp(MyApp());
}
 
class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
 
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Flutter Demo',
      theme: theme(),
      // home: SplashScreen(),
      // We use routeName so that we dont need to remember the name
      initialRoute: LoginScreen.routeName,
      routes: routes,
    );
  }
}

Acknowledgements



🚀 Explore the future of research automation! 🌐