Skip to content

SamDewriter/first-semester-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ› οΈ First Semester Projects

πŸ“š Project 1 – Student Management System (Python)

A beginner-level Python project to practice core programming concepts.

🎯 Objectives

  • Use Python lists and dictionaries
  • Write and use functions
  • Accept user input
  • Perform basic calculations (e.g., averages)
  • Organize readable and maintainable code

🧩 Tasks

  1. In student_data.py, complete:
    • add_student(): Collects student name, age, and grade.
    • view_students(): Displays all added students.
    • get_average_grade(): Calculates the average of all grades.
  2. In main.py, call the functions using a simple menu system.

▢️ Run the App

cd month1_student_management
python main.py

πŸ›’ Month 2 – MiniMart Sales System (SQL + Python)

A practical project to combine SQL and Python for building and analyzing a retail data workflow.

🎯 Objectives

  • Create and manage SQL tables
  • Insert and query relational data
  • Perform SQL aggregations and joins
  • Use Python for reporting and basic analytics

🧩 SQL Tasks

1. Create 3 Tables: customers, products, orders

Define each table with the following columns:

  • customers

    • customer_id (Primary Key)
    • name
    • email
    • join_date
  • products

    • product_id (Primary Key)
    • product_name
    • category
    • price
  • orders

    • order_id (Primary Key)
    • customer_id (Foreign Key β†’ customers)
    • product_id (Foreign Key β†’ products)
    • quantity
    • order_date

2. Insert Sample Data

Insert at least 5 rows into each table with realistic sample values.

3. Practice the Following SQL Queries

  • Basic Queries

    • Use SELECT to retrieve all customers or all products.
    • Use WHERE to filter products by category (e.g., "Drinks").
    • Use ORDER BY to list recent orders by date.
  • Aggregation

    • Use COUNT() to find the number of total orders.
    • Use SUM() to calculate revenue per product (price Γ— quantity).
    • Use AVG() to find the average product price.
  • Joins

    • Use INNER JOIN to get detailed order information (with customer and product details).
    • Use LEFT JOIN to list all customers and include their orders (if any).
    • Use LEFT JOIN to show products even if they haven’t been ordered.

🧩 Python Tasks

  • Simulate new orders using lists or dictionaries
  • Use conditionals to flag large orders (e.g., total > $100)
  • Convert product prices to another currency and apply conditional discounts
  • Generate a dictionary report including:
    • βœ… Total products sold
    • βœ… Most popular product
    • βœ… Revenue per customer

πŸ’‘ Bonus: Save the report to a .json file or print a nicely formatted summary.

▢️ Run the Python Analysis

cd month2_minimart_analysis/python
python main.py

πŸš€ Submission Instructions

  1. Fork this repository to your GitHub.

  2. Clone it locally:

    git clone https://github.com/SamDewriter/first-semester-projects.git
    cd first-semester-projects
  3. Complete all tasks inside month1_student_management/ and month2_minimart_analysis/.

  4. Commit and Push:

    git add .
    git commit -m "Completed Month 1 & 2 projects"
    git push origin main
  5. Submit your GitHub repo link.


βœ… Tools Used

  • Python 3.x
  • PostgreSQL (recommended for Month 2)
  • Any text editor or IDE (VSCode, PyCharm, etc.)

Happy coding! πŸŽ‰

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages