base-environment
This is the product of team Copper's work for the CLOCKWISE 2021 Software Engineering Bootcamp! It was developed cooperatively over a two week period.
Team
Running
To run the project outside of the Gitpod environment:
- Clone this repo
- In the root, run
pip install -r src/requirements.txt && python src/SimpleServer.py
- The application will be running at localhost:5000/
About CLOCKWISE SE Bootcamp
This bootcamp is a collaborative pilot initiative between the Wyoming Innovation Network of partners and Cardiff University. WIN "calls for closer collaboration between the University of Wyoming and the state’s community colleges and an emphasis on developing innovative solutions that will support and enhance Wyoming’s economy and workforce." 1
Industry Challenge
The final project will be the development of a system for identifying employees based upon their project areas. At the end, the final product will be a product that allows for matching people with specific skills to matching proposal requirements.
Background
Trihydro Corporation (Trihydro) is an engineering and environmental consulting firm based out of Laramie, Wyoming. Trihydro has nearly 475 employees across the United States. We offer a wide range of services including air quality and process management; engineering and surveying; environmental; health and safety; information technology; and water resources.
Problem
Over the last 5 years, Trihydro has completed an average of 850 proposals per year. Proposal amounts range from $1,000 to over a million dollars. A couple questions that continuously arise during the proposal effort is “Who has project experience that live near the project location?” and “Who has relevant experience related to this proposal?” To answer those questions, a company-wide e-mail is sent requesting expertise in the line of work and project area. Employees can call the marketing team to determine relevant project experience, rely on other staff to respond (e.g., long-term employees), or maintain their own Excel file containing a list of staff and their areas of expertise.
Goal
Trihydro desires a system of identifying employees, within the project area, that possess skills matching proposal requirements.
Environment
This environment supports automated deployment through GitPod and produces a base FLASK + SQLITE + BOOTSTRAP stack.
Development
Basic details surrounding GitPod can be found here (in their 10 minutes of primer videos https://www.gitpod.io/screencasts/) environment
The environment features several extensions including:
- SQLITE database viewer / browser
- Python Linting, Debugging
Project wide configuration parameters are controlled by the .gipod.yml
, .gitpod.Dockerfile
, and requirements.txt
file. It is not necessary or recommended that you change any of these.
Key Elements
- Database: /bootcamp.sqlite : you may wish to make changes to the DB schema, it is recommended that you keep the orginal and create another copy (you can interact with the DB directly via the terminal
sqlite bootcamp.db
, or by right clicking on the dbOpen Database
or usingF1 > SQLite: <cmd>
) - src/ -- all components of the project except the database
- static/ - all the bootstrap styling and front-end javascript
- templates/ - the default html templates using the Jinja templating language; all pages currently inherit from
src/templates/generalPageStyled.html
- SimpleServer.py - the Python Server running on port 5000, serving up a Flask-based site that enables one to search the database using employee last names.
Resources
Getting Started
- Define a team contract (template provided )
- Establish expectations, goals, and committment both as a group and as individuals.
- Create a branch of your team's project called
yourlastname-gitpod-exploration
- Familiarize yourself with the gitpod environment, in your open branch, launch gitpod (use Chrome or Firefox for ease of use; browser extensions)
- Look over the Industry need/challenge and brainstorm in your group what you can do and how you can extend this base environment
- Sketch out a skelton set of ideas and questions for the industry partner (Trihydro)
- Engage with and gather requirments/details fromthe industry partner (Trihydro)
- Plan out major milestones and tasks
- Collaboratively work, itterate, and present!
Support
- Saturday Events:
- Near Peer Mentor - PhD Students (~10:30AM-2:30PM)
- Lunch and Learn Session - ~12-1 PM
- Week-long Access:
- Slack CLOCKWISE Bootcamp:
- Office Hours (TBA)
- Drop-in Sessions (TBA)
What/Who is CLOCKWISE?
CLOCKWISE (Creating Lasting Opportunities with Cardiff to Kindle Wyoming's Interests in Software Engineering) is comprised of several dozen faculty and administrators from Wyoming's public insitutions of higher education
- University of Wyoming,
- Casper College,
- Central Wyoming College,
- Eastern Wyoming College,
- Sheridan College / Gillette College,
- Laramie County Community College,
- Northwest College,
- Western Wyoming Community College
and Cardiff University.
Infrastructure and neer-peer support is provided by the Cybersecurity Education and Research Center.