Skip to content

trinidadgithub/SoftwareEngineering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Software Engineering Projects

This repository showcases a series of projects that demonstrate a variety of technologies and architectures. The projects span different programming languages and frameworks, focusing on multi-threading, distributed systems, cloud deployment, and more. The first one, Full-Stack Web Application is complete. The Rests are TODO which pick elements of technologies I've been exposed to in my career.

Projects Overview

  • Technologies: React, Node.js, PostgreSQL, Docker, GitHub Actions (CI/CD)
  • Description: This project is a full-featured web application that showcases both front-end and back-end development skills using React, Node.js, PostgreSQL, and Docker. The application also integrates a CI/CD pipeline using GitHub Actions for streamlined testing and deployment.
  • Technologies: Go, gRPC, Docker, Kubernetes
  • Description: Create a distributed application with microservices that communicate using gRPC. The services simulate real-world use cases like order processing, inventory management, and user authentication.
  • Technologies: C++, POSIX Threads, Boost, Docker
  • Description: Build a multi-threaded real-time data processing system in C++. This system ingests data from multiple sources and processes it concurrently to simulate an industrial IoT application or financial transaction system.
  • Focus: Thread safety, synchronization, message passing, CPU optimization.
  • Technologies: Python, FastAPI, AsyncIO, PostgreSQL, Redis, Docker
  • Description: Develop an asynchronous REST API for a fast, real-time application like a chat system or stock price tracker. Integrate it with a Postgres database for persistence and Redis for caching.
  • Focus: API design, database transactions, handling high concurrent requests.
  • Technologies: JavaScript, Node.js, Kafka Streams, Docker, Kubernetes
  • Description: Set up an event-driven architecture where events from multiple producers are processed and consumed using Kafka Streams. The application simulates a real-time analytics dashboard.
  • Focus: Real-time streaming, fault tolerance, data pipeline.
  • Technologies: TypeScript, Node.js, GraphQL, React, PostgreSQL
  • Description: Build a full-featured web app (such as a project management tool) using TypeScript and GraphQL for both front-end and back-end. Incorporate user authentication, role management, and API security.
  • Focus: Object-oriented design, security, API testing, and database optimization.
  • Technologies: Python, PyTest, Jenkins, GitHub Actions
  • Description: Build a continuous integration and deployment pipeline for a Python-based software testing framework. The framework is built for testing various APIs or full-stack applications.
  • Focus: Test automation, CI/CD, pipeline optimization.
  • Technologies: Go, gRPC, Docker, Prometheus
  • Description: Create a client-server application that handles complex network protocols (e.g., WebSocket or gRPC). The project simulates a multiplayer game server with matchmaking capabilities.
  • Focus: Networking, efficient data transmission, performance monitoring.
  • Technologies: AWS IoT Core, MQTT, AWS IAM, AWS S3, AWS DynamoDB, AWS CloudWatch, Terraform, AWS Certificate Manager
  • Description: An IoT solution that integrates AWS IoT Core and MQTT for real-time device communication and data streaming.
  • Focus: Real-time networking, efficient data transmission via MQTT, and performance monitoring using AWS CloudWatch, with Terraform for automated infrastructure management.

10. c (in progress)

Focus Areas for Projects

  • Multi-threading: Development of concurrency-heavy applications that handle parallel tasks.
  • Distributed Architecture: Building systems that span across different nodes using microservices and message-passing techniques.
  • Cloud Deployment: Deploying applications to cloud environments like AWS or GCP.
  • Load Balancing: Ensuring efficient distribution of network traffic across multiple servers.
  • Internet of Things: Managing frameworks to support IoT devices with high availability and fault tolerance.
  • Memory Mapping and Visualization: Case studies on process memory, virtual and real.

Additional Notes

  • The projects could range from testing software (all forms), object-oriented design, multi-threading, network, and database applications (CRUD).
  • The programming languages used include Python, JavaScript, C, C++, Go, and TypeScript.
  • The architectures explored include cloud-based applications, on-premises distributed applications, messaging, and stand-alone applications.

About

This project features web application that showcases both front-end and back-end development skills

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published