Skip to content

This application serves "applicant" users. | 🏦Handle My Admission is a solution which provides an end-to-end platform for institutions to manage their admission process , as well as it acts as an on-stop solution for high school students to manage their college applications.

License

Notifications You must be signed in to change notification settings

handle-my-admissions/student-app

Repository files navigation

Handle My Admission


🎊 student-app

"student-app" is an application that severs "applicant" users of Handle My Admission.

hosted link : https://handle-my-admissions.web.app/ap-student

Note: This repository is the TypeScript version of the Old Codebase (https://github.com/handle-my-admissions/ap-student) which is now being deprecated, and will not be maintained further.

💥 Introduction to Handle My Admission

Handle My Admission is a solution that provides an end-to-end platform for institutions to manage their admission process, as well as acts as a one-stop solution for high school students to manage their college applications.

It started with the idea to provide facilities to only one university, but now it’s pivoting towards SAAS.

💡 Why did we build this?

The very first reason was to reduce the costs of the solutions that our university was using. Later, we realized that there is no single SAAS platform for admission, where universities can post their openings and applicants can apply through a single platform, because each university currently has its own portal, making it difficult to track your application as a student when using too many universities and openings.

🥁 Features

  • Dynamic dashboards.
  • Query management system.
  • Application management system.
  • Up-to-date notifications.
  • Notice boards.
  • Embedded calendars.
  • Different payment modes powered by Razorpay.

🛠️ Local development

That's pretty easy. To ensure that you are able to install everything properly, we would recommend you to have Git, Node and npm or yarn installed.

We will first start with setting up the Local Project Environment:

git clone https://github.com/handle-my-admissions/student-app.git
cd student

Install all the dependencies.

npm install

To run the React app locally | start the development server:

npm start

To Build the production ready web application:

npm run build

To Lint the codebase:

npm run lint

NOTE:

  • You need to have the UserPoolId and client id. Go to AWS > Cognito > Manage pools and users > clients or else contact any of the maintainers.Once you have it, Save that into .env:
  • for REACT_APP_API_BASE_URL , go to AWS PORTAL > API GATEWAY > DEPLOYMENTS > STAGES, copy the url from there, or , else, contact the maintainer to get started with it.
  • Create an app in razorpay to have the key or else, contact the maintainer(s).
REACT_APP_API_BASE_URL=XXXXXXXXXXXX
REACT_APP_RAZORPAY_SCRIPT_END_POINT=XXXXXXXXXXXX

REACT_APP_RAZORPAY_DEV_KEY=XXXXXXXXXXXXX
REACT_APP_RAZORPAY_PROD_KEY=XXXXXXXXXXXX


REACT_APP_COGNITO_POOL_ID=XXXXXXXXXXXX
REACT_APP_COGNITO_CLIENT_ID=XXXXXXXXXXXX

📃 NOTE:

  1. You must follow the eslint rules defined in the .eslintrc.json when creating a pull request. Please ensure that EsLint is up and running before submitting your code for linting. We recommend using an extension to assist you in adhering to lint rules.

Learn more about Eslint

  1. For a smooth installation, Node version 16.15.x is required.

Running on some other Node version ? we recommend you to check out this amazing tool : NVM

🧰 Tools & technologies used ?

There are plenty of them 🎊,

  • ReactJS
  • TypeScript
  • Ant-Design
  • Amazon Web Services:
    • Lambda
    • DynamoDB
    • Cognito
    • API Gateway
    • S3
    • SNS
    • SQS

Please help me getting started with repository's structure! 🙄

This React app has three types of components: components, which can be defined as the smallest reusable components being utilized or used by the other two types, containers, which utilizes the first type of components, and pages components, are nothing but views.

some details about directory structure:

Inside /src:

  1. components, containers and pages directories contains components whose sole purpose is to serve UI.

  2. contexts directory contains the contexts used by the application's various components. Utilizing contexts solves the problem of prop drilling.

  3. routes directory contains Routes defined via useRoutes Hook.

  4. utils directory have should contain the utility functions which helps in the main flow.

  5. .env contains the env variables which is used by the application.


📃 Detailed + High level architecture


📃 Flow chart

✌ Code Of Conduct

We like to follow a code of conduct and expect the same from you. please refer: CODE OF CONDUCT

📜 LICENSE

MIT License

About

This application serves "applicant" users. | 🏦Handle My Admission is a solution which provides an end-to-end platform for institutions to manage their admission process , as well as it acts as an on-stop solution for high school students to manage their college applications.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published