Link to Video Demonstrations: https://drive.google.com/file/d/1vSpNu-gWNy0Kt8EZfN7eOq42l6w23vmh/view?usp=drive_link
Running a product-development club at university comes with challenges, from recruiting members to managing projects and keeping all stakeholders informed. Ideate is a data-driven platform designed to streamline club management by centralizing information on projects, clients, and members. Our platform ensures that clubs can seamlessly connect with clients, work on impactful projects, and foster the professional growth of college students.
Ideate is tailored to support four key user groups:
- Executive Board Members: Plan events, review client project proposals, and manage club projects.
- General Club Members: Access assigned projects and keep track of club meeting schedules.
- Advisors (Professors/Teaching Assistants): View club projects, hold office hours, and invite new members.
- Clients: Submit project proposals, track project progress, and refer other clients to the club.
The project follows a three-tier architecture running on Docker containers:
- Backend: Python Flask REST API for data access and business logic.
- Database: MySQL for structured storage and management of club, project, and user data.
- Frontend: Streamlit-based user interface for an interactive experience.
The three components that will run in their own Docker Containers:
- Streamlit App in the
./appdirectory - Flask REST api in the
./apidirectory - MySQL Database that will be initialized with SQL script files from the
./database-filesdirectory
Ensure you have the following installed:
- Docker
- Python
- MySQL
- Set up the
.envfile in theapifolder based on the.env.templatefile. - For running the testing containers (for your personal repo), you will tell
docker composeto use a different configuration file nameddocker-compose-testing.yaml.docker compose -f docker-compose-testing.yaml up -dto start all the containers in the backgrounddocker compose -f docker-compose-testing.yaml downto shutdown and delete the containersdocker compose -f docker-compose-testing.yaml up db -donly start the database container (replace db with api or app for the other two services as needed)docker compose -f docker-compose-testing.yaml stopto "turn off" the containers but not delete them.