Keep Me Posted (KMP) is a powerful web application designed to streamline your meeting processes by providing concise summaries of meeting discussions. KMP allows users to focus on productive conversations rather than wasting precious time documenting meeting minutes.
Product Owners | Release Train Engineers | System Architects |
---|---|---|
Danny Leung 32478704 |
Alex Ung 32498853 |
Ahmed Almasry 31130143 |
Diya Ramesh 32336012 |
Maureen Pham 33117144 |
Harrison Lane 33110077 |
Afia Farzana 32501986 |
Zihao (Jeremy) Wang 32520433 |
Rohit Valanki 31451764 |
Ayesha Tariq 32497857 |
Benjamin Cherian 31483534 |
Brenda Dang 33111197 |
Parul Garg 32720254 |
Bowen Dong 33109834 |
Angelina Leung 33114447 |
Marcus Wei 32503881 |
Follow these steps to set up and run the Keep Me Posted application locally.
Before running the application locally, ensure you have installed node and npm globally - guide
Ensure you are in the root directory
To run the application on Windows, execute the run_servers.bat file. You can do this by double-clicking the file in your file explorer or by running the following command in your terminal:
./run_servers.bat
To run the servers on macOS, execute the run_servers.sh script. Use the following command in your terminal:
bash run_servers.sh
The project can be run on any machine. MacOS and Windows have shell scripts that can be used to run the project locally.
Sveltekit is used for the frontend. SvelteKit is a framework for rapidly developing robust, performant web applications using Svelte. Svelte is a tool for building web applications. Like other user interface frameworks, it allows you to build your app declaratively out of components that combine markup, styles and behaviours. These components are compiled into small, efficient JavaScript modules that eliminate overhead traditionally associated with UI frameworks. A Svelte tutorial document was created in the process of building the application - guide. Other tutorials can be found for Svelte - guide, and SvelteKit - guide. For our application we are using SvelteKit version 3.0.0.
Django is used for the backend. Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. A Django tutorial document was created in the process of building the application - guide. Other tutorials can be found for Django - guide. For our application we are using Django version 5.0.4.
- Add a .env file to the KEEP-ME-POSTED root directory.
- Add a .env.local file to the frontend directory.
- Add the paths for these 2 files to .gitignore (these files must NOT be pushed to Git).
-
Generate an API key (see here) and put it in the .env file in the following format:
GEMINI_API_KEY = "insert API key here"
-
Click on the project in Google Cloud Console and generate OAuth client IDs by clicking "Create Credentials".
-
Add the IDs to the .env.local file in the following format (without the curly brackets):
SECRET_CLIENT_ID={insert ID here} SECRET_CLIENT_SECRET={insert ID here}
-
Generate an API key (see here) and put it in the .env file in the following format:
ASSEMBLYAI_API_KEY="insert API key here"
-
Create a Google account.
-
Enable 2-factor authentication and generate a pass key (see here) and put it in the .env file in the following format:
SMTP_EMAIL = "your google email address" SMTP_API_KEY = "insert pass key here"
See this link for accounts for:
- AssemblyAI project
- Django admin account
- Gmail login
See this link to edit and view the Figma.
The current version of KMP is subject to the SMTP Privacy Policy and Google Gemini’s Generative-AI Prohibited Use Policy, which both do not allow users under the age of 18 to access their services. Currently, KMP allows users aged 13 and above to be able to generate AI-summaries and send it through email. Before its professional release, authentication must ensure only adults aged 18 and above are allowed to use KMP and its services to comply with the privacy policies of the third-party services mentioned prior.
As of August 2024, AssemblyAI’s Speech-to-Text API imposes a usage and concurrency limit on its free tier. Please keep in mind that this usage limit may be partially expended if you decide to use the AssemblyAI project and account found in the “Login Credentials” section above - the account listed is under the free plan and is not paid.
Description | Counter Measures |
---|---|
Some cache files were accidentally pushed to the Git at the beginning of the project and hence, may come up under “Unstaged Changes" under Source Control when you run the code locally. Examples of these cache files include non-ambient.d.ts and db.sqlite3. | The .gitignore file can be updated to ensure these cache files do not get pushed. Adequate training and reminders to team members can also prevent this from occurring. In the case that these cache files are accidentally pushed to the Git again: Ensure that team members remember to discard these files from the listed “Changes” in Source Control before committing and pushing. Alternatively, you can try to revert the commit by following this tutorial. |