Fixed Top Ad (Local Preview)800x90 • Slot 6608427872
Projects
✕1. 🧭 Project Guidelines
- Each student must submit two projects: 1. Solo Project 2. Group Project Group project can have maximum 3 members. Each project must have: ✅ Command-line interface ✅ SQLite database ✅ Proper Git repository ✅ Meaningful commit history ✅ Clear project structure ✅ Working project demo
- All projects must have a command-line interface, also called CLI. CLI means users interact with the project through terminal or command prompt. Example: 1. Register user 2. Login 3. Add record 4. View records 5. Export report 6. Exit The project should show a menu and allow users to choose options.
- GUI is optional. Students who want to explore more can create GUI using libraries like: - Tkinter - PyQt - Kivy 📌 GUI is bonus only. 📌 CLI is mandatory even if GUI is created.
- All project data must be stored in SQLite database. Do not store main project data only in text files, CSV files, or JSON files. CSV files can be used for export. Example: Project data: Store in SQLite database. Report export: Can export to CSV file.
- Each project must have a proper Git repository. Repository should include: - Source code - README file - .gitignore file - Meaningful commit history Examples of good commit messages: - Initial project setup - Add user registration feature - Add SQLite database connection - Add CSV export feature - Add email notification feature Avoid unclear commit messages like: - update - final - changes - fixed
- Using AI tools is allowed for code generation and debugging. However, students must: ✅ Understand the generated code ✅ Be able to explain the code ✅ Be able to modify the code ✅ Know how the database tables are designed ✅ Know how main features work 📌 If you cannot explain the code, it will not be considered your work.
- Every project should include: - CLI menu - User input validation - SQLite database - Add/view/update/delete functionality where needed - CSV export where mentioned - Chart generation where mentioned - Email notification where mentioned - Proper error handling - README file - Git commits
- Example:
project_name/main.pydatabase.pymodels.pyservices.pyreports.pyemail_utils.pyrequirements.txtREADME.md.gitignoredatabase.dbExplanation:main.py: Main CLI menu and program entry point.database.py: Database connection and table creation.models.py: Table-related structure or helper functions.services.py: Main business logic.reports.py: CSV export and chart generation.email_utils.py: Email sending logic.requirements.txt: List of required third-party libraries.README.md: Project explanation and usage guide. Sample Project: Inventory Management System
1.1 Project Submission Requirement
1.2 CLI Requirement
1.3 Optional GUI
1.4 Database Requirement
1.5 Git Requirement
1.6 AI Usage Policy
1.7 Common Project Requirements
1.8 Suggested Project Structure
2. 📤 Final Submission Checklist
- Before submitting each project, check the following: ✅ Project runs from CLI ✅ SQLite database is used ✅ Tables are created properly ✅ Add/view/update/delete features work ✅ CSV export works where required ✅ Chart generation works where required ✅ Email notification works where required ✅ Git repository exists ✅ Commit history is meaningful ✅ README file explains the project ✅ Code is understandable by all group members ✅ No unnecessary files are pushed to GitHub
2.1 Before Submitting
3. 📄 README Requirements
- Each project should include a README.md file. README should contain: - Project title - Project overview - Features - Technologies used - How to run the project - Database tables used - Screenshots or sample CLI output if possible - Team members for group project - AI usage note if AI was used
3.1 README Contents
4. 🧪 Demo Expectations
- During project demo, students should be able to explain: - What problem the project solves - How the CLI works - How data is stored in SQLite - What tables are used - How Git was used - How email/report/chart features work - Which part was written or improved using AI - What challenges were faced
4.1 What Students Should Explain
