This is a Flask web application designed for the Excalibur FRC team to facilitate scouting and data collection. The app includes features for user registration, login, profile management, scouting data submission, and QR code scanning for data input.
- User Authentication: Registration and login functionality with password hashing.
- Profile Management: Users can upload profile pictures and view their profile details.
- Scouting Data Submission: Users can submit scouting data via a form.
- QR Code Scanning: Users can scan QR codes to input data directly into the system.
- Python 3.6 or higher
- Virtualenv
-
Clone the repository:
git clone https://github.com/yourusername/excalibur-frc-scouting.git cd excalibur-frc-scouting -
Set up a virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install dependencies:
pip install -r requirements.txt
-
Set up the Flask app configuration:
- Ensure you have the following files and directories created:
users.json: To store user data.contacts.json: To store contact data.static/Data.JSON: To store scouting data.static/profiles: Directory to store user profile pictures.
touch /home/yehudarothstein/mysite/users.json touch /home/yehudarothstein/mysite/contacts.json touch /home/yehudarothstein/mysite/static/Data.JSON
Initialize these files with an empty array:
[]
- Ensure you have the following files and directories created:
-
Run the Flask app:
flask run
- User Data File:
/home/yehudarothstein/mysite/users.json - Contacts Data File:
/home/yehudarothstein/mysite/contacts.json - Scouting Data File:
/home/yehudarothstein/mysite/static/Data.JSON - Profile Pictures Folder:
/home/yehudarothstein/mysite/static/profiles
- Excalibur-frc-scouting/
- ├── app.py
- ├── templates/
- │ ├── register.html
- │ ├── login.html
- │ ├── profile.html
- │ ├── scout.html
- │ ├── report.html
- │ ├── scan-qr.html
- │ ├── home.html
- │ ├── sponsors.html
- │ ├── projects.html
- │ ├── contacts.html
- │ └── layout.html
- ├── static/
- │ ├── css/
- │ │ └── scout.css
- │ ├── profiles/
- │ ├── Data.JSON
- ├── requirements.txt
- └── README.md
-
User Registration:
- Navigate to
/registerto create a new account. - Provide a username, password, full name, and job title.
- Upon successful registration, log in using your new credentials.
- Navigate to
-
User Login:
- Navigate to
/loginto access your account. - Enter your username and password to log in.
- Navigate to
- After logging in, navigate to
/profileto upload a profile picture and view your profile details.
- Scan QR Code:
- Go to
/scan-qr. - Use the QR code scanner to scan a code.
- The scanned data will be automatically submitted and saved to the system.
- Go to
- Navigate to
/scoutto submit scouting data using the provided form. - Fill in the necessary details and submit the form.
- The data will be saved to the
Data.JSONfile.
- Navigate to
/report-bugsto report any issues or bugs encountered. - Fill in the form with relevant details and submit your report.
- Sponsors: Navigate to
/sponsorsto view a list of sponsors. - Contacts: Navigate to
/contactsto view team contact information. - Projects: Navigate to
/projectsto view team projects.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Commit your changes (
git commit -am 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Open a pull request.
This project is licensed under the MIT License.