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
This is Web build repo PSTU RTC Project Management Frontend
Build Repo, where we auto push from this main repo.
-
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
- Profile PDF
-
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.
- 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
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,
);
}
}
- Awesome Dialog library for making awesome dialog ui
- Go Router library for making page route navigation
- Flutter Form Builder library for data collection forms
- SharedPreferences library for persistent storage
- Flutter Secure Storage library to store data in secure storage
🚀 Explore the future of research automation! 🌐