https://github.com/subhamsarangi/application_system
Form Submission and Approval
https://github.com/subhamsarangi/application_system
flask flask-login flask-wtf pdfkit postgresql python wkhtmltopdf
Last synced: 11 days ago
JSON representation
Form Submission and Approval
- Host: GitHub
- URL: https://github.com/subhamsarangi/application_system
- Owner: subhamsarangi
- Created: 2025-02-03T12:20:10.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-02-03T12:31:06.000Z (11 months ago)
- Last Synced: 2025-03-08T23:32:46.478Z (10 months ago)
- Topics: flask, flask-login, flask-wtf, pdfkit, postgresql, python, wkhtmltopdf
- Language: Python
- Homepage:
- Size: 2.17 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Student Application System
## Project Overview
The Student Application System is a web-based application built with Flask that allows students to submit applications and enables administrators to review and approve them. The system supports user authentication and role-based access control.
## Installation Instructions
### Prerequisites
- Python 3.8+
- pip (Python package manager)
- Virtual environment (optional but recommended)
- PostgreSQL database
### Setup
1. Clone the repository:
```sh
git clone https://github.com/subhamsarangi/application_system.git
cd application_system
```
2. Create and activate a virtual environment:
```sh
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
```
3. Install dependencies:
```sh
pip install -r requirements.txt
```
4. Configure environment variables:
- Create a .env file and set the following variables:
```env
SQLALCHEMY_DATABASE_URI=postgresql://username:password@localhost/db_name
SECRET_KEY=your_secret_key
```
5. Testing:
To run tests, use the following command:
```sh
pytest
```
6. Initialize and apply database migrations:
```sh
flask db init
flask db migrate -m "Initial migration."
flask db upgrade
```
7. Run create_admin.py:
```sh
python create_admin.py
```
8. Run the application:
```sh
flask run
```
9. Access the application at http://127.0.0.1:5000/.
## Usage Instructions
### Student
- Register and log in.
- Fill out and submit an application.
- View application status.
### Admin
- Log in as an admin.
- View submitted applications.
- Approve or reject applications.
- Manage user accounts.
## Technology Stack
- Flask (Python Web Framework)
- SQLAlchemy (ORM)
- PostgreSQL (Database)
- Flask-WTF (Forms Handling)
- Flask-Login (Authentication)
- Flask-Migrate (Database Migrations)
- PDFkit using wkhtmltopdf (PDF Generation)
## Assumptions
- Admins are manually added to the database using create_admin.py
- Applications follow a predefined format.
- Users can submit only one application at a time.
- wkhtmltopdf.exe is installed in the system in the default location such as C:\Program Files\wkhtmltopdf\bin\
## Screenshots
Below are some screenshots of the application:
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)