14 |
14 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/studFee_client/lib/util/alert_dailog.dart:
--------------------------------------------------------------------------------
1 | // ignore_for_file: public_member_api_docs, sort_constructors_first
2 | import 'package:flutter/material.dart';
3 |
4 | // ignore: must_be_immutable
5 | class AlertBox extends StatelessWidget {
6 | String alertText;
7 | final VoidCallback callback;
8 | IconData icon;
9 | Color color;
10 | String buttonText;
11 | Color buttonColor;
12 |
13 | AlertBox(
14 | {Key? key,
15 | required this.alertText,
16 | required this.callback,
17 | required this.icon,
18 | required this.color,
19 | required this.buttonText,
20 | required this.buttonColor})
21 | : super(key: key);
22 |
23 | @override
24 | Widget build(BuildContext context) {
25 | return Dialog(
26 | shape: RoundedRectangleBorder(
27 | borderRadius: BorderRadius.circular(20.0),
28 | ),
29 | child: Padding(
30 | padding: const EdgeInsets.all(8.0),
31 | child: SizedBox(
32 | height: 250,
33 | child: Column(
34 | children: [
35 | const SizedBox(height: 30),
36 | Icon(
37 | icon,
38 | size: 40,
39 | color: color,
40 | ),
41 | const SizedBox(height: 50),
42 | Center(
43 | child: Text(
44 | alertText,
45 | textAlign: TextAlign.center,
46 | style: const TextStyle(
47 | fontSize: 15.0,
48 | ),
49 | ),
50 | ),
51 | const SizedBox(height: 20),
52 | GestureDetector(
53 | onTap: callback,
54 | child: Container(
55 | height: 50,
56 | width: 100,
57 | decoration: BoxDecoration(
58 | color: buttonColor,
59 | borderRadius: BorderRadius.circular(5),
60 | ),
61 | child: Center(
62 | child: Text(
63 | buttonText,
64 | style: const TextStyle(
65 | color: Colors.white,
66 | ),
67 | ),
68 | ),
69 | ),
70 | )
71 | ],
72 | ),
73 | ),
74 | ),
75 | );
76 | }
77 | }
78 |
--------------------------------------------------------------------------------
/studfeeServer/views/admin/paymentlist.pug:
--------------------------------------------------------------------------------
1 | doctype html
2 | html(lang="en")
3 | head
4 | meta(charset="UTF-8")
5 | meta(name="viewport", content="width=device-width, initial-scale=1.0")
6 | title Dashboard UI
7 | link(rel="stylesheet", href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css")
8 | script(src="https://code.jquery.com/jquery-3.3.1.slim.min.js")
9 | script(src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js")
10 | script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js")
11 | script.
12 | $(function() {
13 | $('#create-fee-btn').click(function() {
14 | $('#content').hide();
15 | $('#create-form').show();
16 | });
17 | $('#payment-list-link').click(function() {
18 | $('#content').hide();
19 | $('#payment-table').show();
20 | });
21 | });
22 | body
23 | header
24 | nav.navbar.navbar-expand-lg.navbar-light.bg-light
25 | a.navbar-brand(href="#") StudFee
26 | button.navbar-toggler(type="button", data-toggle="collapse", data-target="#navbarNav", aria-controls="navbarNav", aria-expanded="false", aria-label="Toggle navigation")
27 | span.navbar-toggler-icon
28 | div.collapse.navbar-collapse#navbarNav
29 | ul.navbar-nav.ml-auto
30 | li.nav-item.active
31 | a.nav-link(href="./dashboard") Home
32 | span.sr-only (current)
33 | li.nav-item
34 | a.nav-link#create-fee-btn(href="/create-form") Create Fee
35 | li.nav-item
36 | a.nav-link#payment-list-link(href="/admin/paymentlist") Levy List
37 | li.nav-item
38 | form(action="/logout", method="post")
39 | button.btn.btn-primary.nav-item Logout
40 | section.container
41 | .card.mt-4.text-center
42 | .card-header
43 | h3.text-center.font-weight-bold.my-4 Levy Fee List
44 | .card-body
45 | table.table.table-hover
46 | thead
47 | tr
48 | th Department Name
49 | th Levy Name
50 | th Fee Amount
51 | tbody
52 | != paymentTable
53 | section.container#create-form(style="display: none;")
54 | include create-form.pug
55 | footer.footer.py-3
56 | p.text-center Copyright © 2023
57 |
--------------------------------------------------------------------------------
/studFee_client/android/app/build.gradle:
--------------------------------------------------------------------------------
1 | def localProperties = new Properties()
2 | def localPropertiesFile = rootProject.file('local.properties')
3 | if (localPropertiesFile.exists()) {
4 | localPropertiesFile.withReader('UTF-8') { reader ->
5 | localProperties.load(reader)
6 | }
7 | }
8 |
9 | def flutterRoot = localProperties.getProperty('flutter.sdk')
10 | if (flutterRoot == null) {
11 | throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12 | }
13 |
14 | def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
15 | if (flutterVersionCode == null) {
16 | flutterVersionCode = '1'
17 | }
18 |
19 | def flutterVersionName = localProperties.getProperty('flutter.versionName')
20 | if (flutterVersionName == null) {
21 | flutterVersionName = '1.0'
22 | }
23 |
24 | apply plugin: 'com.android.application'
25 | apply plugin: 'kotlin-android'
26 | apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27 |
28 | android {
29 | compileSdkVersion 33
30 | ndkVersion flutter.ndkVersion
31 |
32 | compileOptions {
33 | sourceCompatibility JavaVersion.VERSION_1_8
34 | targetCompatibility JavaVersion.VERSION_1_8
35 | }
36 |
37 | kotlinOptions {
38 | jvmTarget = '1.8'
39 | }
40 |
41 | sourceSets {
42 | main.java.srcDirs += 'src/main/kotlin'
43 | }
44 |
45 | defaultConfig {
46 | // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
47 | applicationId "com.students.studfees"
48 | // You can update the following values to match your application needs.
49 | // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
50 | minSdkVersion 21
51 | targetSdkVersion flutter.targetSdkVersion
52 | versionCode flutterVersionCode.toInteger()
53 | versionName flutterVersionName
54 | }
55 |
56 | buildTypes {
57 | release {
58 | // TODO: Add your own signing config for the release build.
59 | // Signing with the debug keys for now, so `flutter run --release` works.
60 | signingConfig signingConfigs.debug
61 | }
62 | }
63 | }
64 |
65 | flutter {
66 | source '../..'
67 | }
68 |
69 | dependencies {
70 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
71 | }
72 |
--------------------------------------------------------------------------------
/studFee_client/lib/components/auth_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:studfees/screens/users/chat/chat_list.dart';
3 | import 'package:studfees/screens/users/payment.dart';
4 | import 'package:studfees/screens/users/profile.dart';
5 |
6 | import '../screens/users/dictionary/dic.dart';
7 |
8 | class AuthScreen extends StatefulWidget {
9 | static const String routeName = '/auth-screen';
10 | const AuthScreen({super.key});
11 |
12 | @override
13 | State