An open API service indexing awesome lists of open source software.

https://github.com/binghuan/leopardapplicant

A simple web form for internal use.
https://github.com/binghuan/leopardapplicant

firebase reactjs webapp

Last synced: about 2 months ago
JSON representation

A simple web form for internal use.

Awesome Lists containing this project

README

          

# Leopard Applicant

Leopard Applicant Icon

A React-based web application that generates email application forms with a user-friendly interface.

**๐ŸŒ Live Demo:** [https://leopardapplicant.firebaseapp.com/](https://leopardapplicant.firebaseapp.com/)

## ๐Ÿ“‹ Overview

Leopard Applicant is a simple yet effective web form that helps users compose structured application emails. The application collects user information through a Material-UI form and generates a properly formatted `mailto` link for easy email submission.

## โœจ Features

- **User-friendly Form Interface**: Built with Material-UI components for a clean, professional look
- **Automatic Email Generation**: Creates properly formatted `mailto` links with structured content
- **Local Storage**: Automatically saves form data to prevent data loss
- **Responsive Design**: Works across different screen sizes
- **Bilingual Support**: Form labels in both English and Chinese/Traditional Chinese

## ๐Ÿ“ Form Fields

The application collects the following information:

- **ๆ”ถไปถไบบ (Mail To)**: Recipient email address
- **็”ณ่ซ‹ไบบๅง“ๅ (Applicant Name)**: Name of the person making the application
- **ไฟกไปถไธปๆ—จ (Subject)**: Email subject line
- **้ƒจ้–€ (Department)**: Department or organization
- **้›ปๅญไฟก็ฎฑๅœฐๅ€ (Email Address)**: Applicant's email address
- **ๅพฎไฟกWeChatๅธณ่™Ÿ (WeChat ID)**: WeChat account ID
- **็”ณ่ซ‹็ทฃ็”ฑ (Reason for Application)**: Description or reason for the application

## ๐Ÿš€ Getting Started

### Prerequisites

- Node.js (version 14 or higher)
- npm or yarn package manager

### Installation

1. Clone the repository:
```bash
git clone https://github.com/yourusername/leopardapplicant.git
cd leopardapplicant
```

2. Install dependencies:
```bash
npm install
```

3. Start the development server:
```bash
npm start
```

4. Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

## ๐Ÿ› ๏ธ Available Scripts

- `npm start` - Runs the app in development mode
- `npm test` - Launches the test runner
- `npm run build` - Builds the app for production
- `npm run eject` - Ejects from Create React App (one-way operation)

## ๐Ÿ—๏ธ Built With

- **React** (16.2.0) - JavaScript library for building user interfaces
- **Material-UI** (0.20.0) - React components implementing Google's Material Design
- **jQuery** (3.3.1) - JavaScript library for DOM manipulation
- **Create React App** - Bootstrapped with Create React App for easy setup

## ๐Ÿ“ฑ Deployment

This application is deployed on Firebase Hosting and can be accessed at:
[https://leopardapplicant.firebaseapp.com/](https://leopardapplicant.firebaseapp.com/)

To deploy your own version:

1. Build the production version:
```bash
npm run build
```

2. Deploy to Firebase (requires Firebase CLI setup):
```bash
firebase deploy
```

## ๐ŸŽฏ How It Works

1. **Fill the Form**: Users enter their information in the provided fields
2. **Auto-save**: Form data is automatically saved to browser's local storage
3. **Generate Email**: The app creates a structured email body with all the provided information
4. **Send**: Click the "SEND" button to open the default email client with the pre-filled email

## ๐Ÿ“ Project Structure

```
leopardapplicant/
โ”œโ”€โ”€ public/
โ”‚ โ”œโ”€โ”€ icons/ # App icons in various sizes
โ”‚ โ”œโ”€โ”€ index.html # HTML template
โ”‚ โ””โ”€โ”€ manifest.json # PWA manifest
โ”œโ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ App.js # Main application component
โ”‚ โ”œโ”€โ”€ App.css # Application styles
โ”‚ โ”œโ”€โ”€ index.js # Entry point
โ”‚ โ””โ”€โ”€ ...
โ”œโ”€โ”€ pictures/
โ”‚ โ””โ”€โ”€ illustration.png # App illustration
โ”œโ”€โ”€ package.json # Dependencies and scripts
โ””โ”€โ”€ README.md # This file
```

---

## Illustration
![Application Screenshot](./pictures/illustration.png)