├── src ├── App.css ├── index.css ├── images │ ├── logo.png │ ├── blog │ │ ├── blog.png │ │ └── author.png │ ├── commonbg.jpg │ ├── mbbsBanner.png │ ├── eventGallery.png │ ├── HomeContactBg.jpg │ ├── faculty │ │ └── faculty.png │ ├── notice │ │ └── notice.jpg │ ├── slides │ │ └── homeSlide1.jpg │ ├── student │ │ ├── whatsapp.png │ │ └── profilePicture.png │ └── SalymbekovUniversity.png ├── assets │ ├── images │ │ └── event-gallery │ │ │ ├── e1.png │ │ │ ├── e2.png │ │ │ ├── e3.png │ │ │ ├── e4.png │ │ │ └── e5.png │ └── react.svg ├── Components │ ├── HomeComponents │ │ ├── MBBSProgram │ │ │ ├── MBBSProgram.css │ │ │ └── MBBSProgram.jsx │ │ ├── Count │ │ │ ├── Count.css │ │ │ └── Count.jsx │ │ ├── EventGallery │ │ │ ├── EventGallery.css │ │ │ └── EventGallery.jsx │ │ ├── HomeSlider │ │ │ ├── HomeSlider.css │ │ │ └── HomeSlider.jsx │ │ ├── OurFaculty │ │ │ └── OurFaculty.jsx │ │ ├── ContactForm │ │ │ └── ContactForm.jsx │ │ ├── TalkWith │ │ │ └── TalkWith.jsx │ │ ├── About │ │ │ └── About.jsx │ │ ├── BlogPost │ │ │ └── BlogPost.jsx │ │ └── LatestNotice │ │ │ └── LatestNotice.jsx │ ├── AdminPanel │ │ ├── Dashboard │ │ │ └── Dashboard.jsx │ │ └── Sidebar │ │ │ └── Sidebar.jsx │ ├── AuthBtns.jsx │ │ ├── LoginBtn.jsx │ │ └── LogoutBtn.jsx │ ├── RequireAuth.jsx │ ├── Application │ │ ├── AppBreadcrumb │ │ │ └── AppBreadcrumb.jsx │ │ └── PreApplication │ │ │ └── PreApplication.jsx │ ├── ApplyComponent │ │ ├── ApplyBreadCrumbs.jsx │ │ ├── ApplyBanner.jsx │ │ └── ApplyBanner2.jsx │ ├── CommonBanner │ │ └── CommonBanner.jsx │ ├── AboutComponents │ │ └── AboutBanner.jsx │ ├── MainNavbar │ │ └── MainNavbar.jsx │ ├── TopHeader │ │ └── TopHeader.jsx │ ├── Footer │ │ └── Footer.jsx │ └── PreApplication │ │ └── PreApplication.jsx ├── hooks │ ├── checkAuth.jsx │ ├── useJwt.jsx │ ├── useUser.jsx │ └── auth.jsx ├── App.jsx ├── Pages │ ├── About │ │ └── AboutUs.jsx │ ├── Blog │ │ └── Blog.jsx │ ├── Program │ │ └── Program.jsx │ ├── Faculty │ │ └── Faculty.jsx │ ├── Notice │ │ └── Notice.jsx │ ├── Contact │ │ └── Contact.jsx │ ├── Home │ │ └── Home.jsx │ ├── Apply │ │ └── Apply.jsx │ ├── Authentication │ │ ├── Authentication.jsx │ │ ├── Login.jsx │ │ └── Signup.jsx │ ├── Admin │ │ ├── PaidApplicants │ │ │ └── PaidApplicants.jsx │ │ ├── WaitingApplicant │ │ │ └── WaitingApplicant.jsx │ │ ├── PreApplicants │ │ │ └── PreApplicants.jsx │ │ ├── Applicants │ │ │ └── Applicants.jsx │ │ ├── ApprovedApplicants │ │ │ └── ApprovedApplicants.jsx │ │ └── IndividualApplicant │ │ │ └── IndividualApplicant.jsx │ └── Aplication │ │ ├── ApplicationStatus.jsx │ │ ├── Application.jsx │ │ ├── RequiredDocuments.jsx │ │ ├── Payments.jsx │ │ ├── StartApplication.jsx │ │ └── NewApplication.jsx ├── Layout │ ├── MainLayouts.jsx │ └── AdminLayouts.jsx ├── main.jsx └── router.jsx ├── vite.config.js ├── .gitignore ├── index.html ├── README.md ├── .eslintrc.cjs ├── package.json └── public └── vite.svg /src/App.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/logo.png -------------------------------------------------------------------------------- /src/images/blog/blog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/blog/blog.png -------------------------------------------------------------------------------- /src/images/commonbg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/commonbg.jpg -------------------------------------------------------------------------------- /src/images/mbbsBanner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/mbbsBanner.png -------------------------------------------------------------------------------- /src/images/blog/author.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/blog/author.png -------------------------------------------------------------------------------- /src/images/eventGallery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/eventGallery.png -------------------------------------------------------------------------------- /src/images/HomeContactBg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/HomeContactBg.jpg -------------------------------------------------------------------------------- /src/images/faculty/faculty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/faculty/faculty.png -------------------------------------------------------------------------------- /src/images/notice/notice.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/notice/notice.jpg -------------------------------------------------------------------------------- /src/images/slides/homeSlide1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/slides/homeSlide1.jpg -------------------------------------------------------------------------------- /src/images/student/whatsapp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/student/whatsapp.png -------------------------------------------------------------------------------- /src/images/SalymbekovUniversity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/SalymbekovUniversity.png -------------------------------------------------------------------------------- /src/images/student/profilePicture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/images/student/profilePicture.png -------------------------------------------------------------------------------- /src/assets/images/event-gallery/e1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/assets/images/event-gallery/e1.png -------------------------------------------------------------------------------- /src/assets/images/event-gallery/e2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/assets/images/event-gallery/e2.png -------------------------------------------------------------------------------- /src/assets/images/event-gallery/e3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/assets/images/event-gallery/e3.png -------------------------------------------------------------------------------- /src/assets/images/event-gallery/e4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/assets/images/event-gallery/e4.png -------------------------------------------------------------------------------- /src/assets/images/event-gallery/e5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asif-daffodil/frontend/main/src/assets/images/event-gallery/e5.png -------------------------------------------------------------------------------- /src/Components/HomeComponents/MBBSProgram/MBBSProgram.css: -------------------------------------------------------------------------------- 1 | .commonbg{ 2 | background: url("../../../images/commonbg.jpg"); 3 | background-size: cover; 4 | } -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | -------------------------------------------------------------------------------- /src/hooks/checkAuth.jsx: -------------------------------------------------------------------------------- 1 | import { signal } from "@preact/signals-react"; 2 | import LoginBtn from "../Components/AuthBtns.jsx/LoginBtn"; 3 | 4 | export const checkAuth = signal(false); 5 | export const authBtn = signal(); 6 | -------------------------------------------------------------------------------- /src/Components/AdminPanel/Dashboard/Dashboard.jsx: -------------------------------------------------------------------------------- 1 | 2 | const Dashboard = () => { 3 | return ( 4 |
5 |

This is a Dashboard

6 |
7 | ); 8 | }; 9 | 10 | export default Dashboard; -------------------------------------------------------------------------------- /src/Components/AuthBtns.jsx/LoginBtn.jsx: -------------------------------------------------------------------------------- 1 | import { Link } from "react-router-dom"; 2 | 3 | const LoginBtn = () => { 4 | return ( 5 | <> 6 | Login/Create Account 7 | 8 | ); 9 | }; 10 | 11 | export default LoginBtn; -------------------------------------------------------------------------------- /src/App.jsx: -------------------------------------------------------------------------------- 1 | import { useState } from 'react' 2 | import reactLogo from './assets/react.svg' 3 | import viteLogo from '/vite.svg' 4 | import './App.css' 5 | 6 | function App() { 7 | const [count, setCount] = useState(0) 8 | 9 | return ( 10 | <> 11 | Hello World 12 | 13 | ) 14 | } 15 | 16 | export default App 17 | -------------------------------------------------------------------------------- /src/hooks/useJwt.jsx: -------------------------------------------------------------------------------- 1 | import Cookies from 'js-cookie'; 2 | import { useEffect, useState } from 'react'; 3 | 4 | const useJwt = () => { 5 | const [jwt, setJwt] = useState(null); 6 | 7 | useEffect(() => { 8 | setJwt(Cookies.get('jwt') ?? null); 9 | }, []) 10 | 11 | return jwt; 12 | }; 13 | 14 | export default useJwt; -------------------------------------------------------------------------------- /src/Pages/About/AboutUs.jsx: -------------------------------------------------------------------------------- 1 | import AboutBanner from "../../Components/AboutComponents/AboutBanner"; 2 | import About from "../../Components/HomeComponents/About/About"; 3 | 4 | const AboutUs = () => { 5 | return ( 6 |
7 | 8 | 9 |
10 | ); 11 | }; 12 | 13 | export default AboutUs; -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite + React 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/Pages/Blog/Blog.jsx: -------------------------------------------------------------------------------- 1 | import CommonBanner from "../../Components/CommonBanner/CommonBanner"; 2 | import BlogPost from "../../Components/HomeComponents/BlogPost/BlogPost"; 3 | 4 | const Blog = () => { 5 | return ( 6 | <> 7 | 8 | 9 | 10 | ); 11 | }; 12 | 13 | export default Blog; -------------------------------------------------------------------------------- /src/Pages/Program/Program.jsx: -------------------------------------------------------------------------------- 1 | import CommonBanner from "../../Components/CommonBanner/CommonBanner"; 2 | import MBBSProgram from "../../Components/HomeComponents/MBBSProgram/MBBSProgram"; 3 | 4 | const Program = () => { 5 | return ( 6 | <> 7 | 8 | 9 | 10 | ); 11 | }; 12 | 13 | export default Program; -------------------------------------------------------------------------------- /src/Pages/Faculty/Faculty.jsx: -------------------------------------------------------------------------------- 1 | import CommonBanner from "../../Components/CommonBanner/CommonBanner"; 2 | import OurFaculty from "../../Components/HomeComponents/OurFaculty/OurFaculty"; 3 | 4 | const Faculty = () => { 5 | return ( 6 |
7 | 8 | 9 |
10 | ); 11 | }; 12 | 13 | export default Faculty; -------------------------------------------------------------------------------- /src/Pages/Notice/Notice.jsx: -------------------------------------------------------------------------------- 1 | import CommonBanner from "../../Components/CommonBanner/CommonBanner"; 2 | import LatestNotice from "../../Components/HomeComponents/LatestNotice/LatestNotice"; 3 | 4 | 5 | const Notice = () => { 6 | return ( 7 | <> 8 | 9 | 10 | 11 | ); 12 | }; 13 | 14 | export default Notice; -------------------------------------------------------------------------------- /src/Pages/Contact/Contact.jsx: -------------------------------------------------------------------------------- 1 | import CommonBanner from "../../Components/CommonBanner/CommonBanner"; 2 | import ContactForm from "../../Components/HomeComponents/ContactForm/ContactForm"; 3 | 4 | 5 | const Contact = () => { 6 | return ( 7 |
8 | 9 | 10 |
11 | ); 12 | }; 13 | 14 | export default Contact; -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # React + Vite 2 | 3 | This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. 4 | 5 | Currently, two official plugins are available: 6 | 7 | - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh 8 | - [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh 9 | -------------------------------------------------------------------------------- /src/Components/HomeComponents/Count/Count.css: -------------------------------------------------------------------------------- 1 | .counter{ 2 | width: 236px; 3 | height: 236px; 4 | border-radius: 50%; 5 | background: #4039CCCC; 6 | display: flex; 7 | flex-direction: column; 8 | justify-content: center; 9 | align-items: center; 10 | margin-top: -118px; 11 | position: relative; 12 | z-index: 10; 13 | margin-bottom: -118px; 14 | } 15 | 16 | .countNumber{ 17 | &::after{ 18 | content: "+"; 19 | } 20 | } -------------------------------------------------------------------------------- /src/Components/HomeComponents/EventGallery/EventGallery.css: -------------------------------------------------------------------------------- 1 | .event-slider .swiper { 2 | width: 100%; 3 | } 4 | 5 | .event-slider .swiper-slide { 6 | background-position: center; 7 | background-size: cover; 8 | width: 300px; 9 | /* height: 300px; */ 10 | box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2); 11 | /* opacity: 0.4; */ 12 | } 13 | 14 | /* .event-slider .swiper-slide-active { 15 | opacity: 1; 16 | } */ 17 | 18 | .event-slider .swiper-slide img { 19 | display: block; 20 | width: 100%; 21 | } 22 | -------------------------------------------------------------------------------- /src/Components/RequireAuth.jsx: -------------------------------------------------------------------------------- 1 | import { useNavigate } from "react-router-dom"; 2 | import { useAuth } from "../hooks/auth"; 3 | import { useEffect } from "react"; 4 | 5 | 6 | const RequireAuth = ({ children }) => { 7 | const auth = useAuth(); 8 | const navigate = useNavigate(); 9 | useEffect(() => { 10 | if (typeof auth.user[0] === 'undefined') { 11 | navigate('/login'); 12 | } 13 | }, [auth.user[0]]); 14 | 15 | return children; 16 | }; 17 | 18 | export default RequireAuth; -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { browser: true, es2020: true }, 4 | extends: [ 5 | 'eslint:recommended', 6 | 'plugin:react/recommended', 7 | 'plugin:react/jsx-runtime', 8 | 'plugin:react-hooks/recommended', 9 | ], 10 | ignorePatterns: ['dist', '.eslintrc.cjs'], 11 | parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, 12 | settings: { react: { version: '18.2' } }, 13 | plugins: ['react-refresh'], 14 | rules: { 15 | 'react-refresh/only-export-components': [ 16 | 'warn', 17 | { allowConstantExport: true }, 18 | ], 19 | }, 20 | } 21 | -------------------------------------------------------------------------------- /src/Layout/MainLayouts.jsx: -------------------------------------------------------------------------------- 1 | import { Outlet } from "react-router-dom"; 2 | import Footer from "../Components/Footer/Footer"; 3 | import MainNavbar from "../Components/MainNavbar/MainNavbar"; 4 | import TopHeader from "../Components/TopHeader/TopHeader"; 5 | import { useAuth } from "../hooks/auth"; 6 | import axios from "axios"; 7 | import useJwt from "../hooks/useJwt"; 8 | import { useQuery } from "react-query"; 9 | 10 | 11 | const MainLayouts = () => { 12 | 13 | return ( 14 | <> 15 | 16 | 17 | 18 |