|
1 | | -## Cloud-Native CI/CD Deployment Pipeline: FastAPI · PostgreSQL · Docker · GitHub Actions · IBM Cloud |
| 1 | +# DevIntellect – AI-Based Cognitive & Technical Intelligence Engine |
2 | 2 |
|
3 | | -A fully automated DevOps pipeline that builds, tests, containerizes, and deploys a FastAPI microservice using Docker and IBM Cloud. The application runs inside containers, with code automatically deployed from GitHub to production. PostgreSQL is used as the persistent data store. The pipeline leverages IBM Cloud Container Registry, IBM Cloud Code Engine, and GitHub Actions — all deployable under free-tier conditions. |
| 3 | +DevIntellect is a cloud-native AI system designed to evaluate a developer’s technical depth and cognitive problem-solving patterns to generate personalized career-path recommendations. |
| 4 | + |
| 5 | +The platform integrates backend intelligence modeling, cognitive assessment, and interactive analytics visualization into a scalable full-stack architecture. |
4 | 6 |
|
5 | 7 | --- |
6 | | -#### 📌Features: |
7 | 8 |
|
8 | | -1. FastAPI backend with modular design (CRUD endpoints, user management) |
| 9 | +## Key Features |
9 | 10 |
|
10 | | -2. PostgreSQL database — local (via Docker) or cloud-hosted via container |
| 11 | +- AI-driven Technical Depth Analysis |
| 12 | +- Cognitive Problem-Solving Pattern Evaluation |
| 13 | +- Personalized Career Path Recommendation Engine |
| 14 | +- RESTful FastAPI Backend Architecture |
| 15 | +- SQLAlchemy-Based Persistent User Analytics |
| 16 | +- Interactive Radar Visualization Dashboard |
| 17 | +- Dockerized Deployment with CI/CD Integration |
| 18 | +- Cloud Deployment (Render) |
11 | 19 |
|
12 | | -3. Docker + Docker Compose for containerization and local development |
| 20 | +--- |
13 | 21 |
|
14 | | -4. Automated CI/CD pipeline using GitHub Actions (test → build → push → deploy) |
| 22 | +## System Architecture |
15 | 23 |
|
16 | | -5. Container image storage via IBM Cloud Container Registry |
| 24 | +Frontend: |
| 25 | +- React.js |
| 26 | +- Chart.js (Radar Visualization) |
17 | 27 |
|
18 | | -6. Deployment to IBM Cloud Code Engine (serverless container hosting) — scales automatically and supports container images built from source or registry images |
| 28 | +Backend: |
| 29 | +- FastAPI |
| 30 | +- SQLAlchemy ORM |
| 31 | +- REST APIs |
19 | 32 |
|
20 | | -7. API testing using Postman/Newman |
| 33 | +Intelligence Layer: |
| 34 | +- Technical Score Computation Engine |
| 35 | +- Cognitive Profile Vector Generator |
| 36 | +- Rule-Based Career Recommendation Engine |
21 | 37 |
|
22 | | -8. Clean environment-based configuration, easy local development and cloud deployment |
| 38 | +Deployment: |
| 39 | +- Docker |
| 40 | +- CI/CD Pipeline |
| 41 | +- Cloud Hosting (Render) |
23 | 42 |
|
24 | 43 | --- |
25 | | -#### Architecture: |
26 | | -``` |
27 | | -GitHub → GitHub Actions → Run Tests → Build Docker Image → Push to IBM Container Registry |
28 | | - ↓ |
29 | | - Deploy to IBM Cloud Code Engine |
30 | | - ↓ |
31 | | - FastAPI Service Container + PostgreSQL Container |
32 | | - ↓ |
33 | | - Persistent Data & API Exposure |
34 | | -
|
35 | | -``` |
36 | | -Code changes trigger GitHub Actions. |
37 | 44 |
|
38 | | -Successful builds produce container images pushed to IBM Cloud Container Registry. |
| 45 | +## How It Works |
39 | 46 |
|
40 | | -Code Engine pulls the image, deploys the container, and exposes a public endpoint. |
| 47 | +1. User submits technical metrics (languages, repo activity, complexity indicators). |
| 48 | +2. User completes cognitive assessment inputs. |
| 49 | +3. Backend computes: |
| 50 | + - Technical Depth Score |
| 51 | + - Cognitive Profile Vector |
| 52 | +4. Intelligence Engine maps results to structured career recommendations. |
| 53 | +5. Results are visualized via radar dashboard and stored in database. |
41 | 54 |
|
42 | | -Postgres runs alongside (in another container) or can be replaced with a managed solution. |
43 | | - |
44 | | ---- |
45 | | -#### Tech Stack: |
46 | | - |
47 | | -``` |
48 | | -| Layer | Technology | |
49 | | -| ------------------ | ------------------------------------------------------------------------ | |
50 | | -| Backend | FastAPI, Python, SQLAlchemy | |
51 | | -| Database | PostgreSQL (Docker / IBM Cloud container) | |
52 | | -| Containerization | Docker, Docker Compose | |
53 | | -| CI/CD | GitHub Actions | |
54 | | -| Container Registry | IBM Cloud Container Registry | |
55 | | -| Cloud Hosting | IBM Cloud Code Engine (auto-scaling, serverless) | |
56 | | -| Testing | Pytest, Postman / Newman | |
57 | | -| CI/CD Flow | On Git commit → build & test → push Docker image → deploy to Code Engine | |
58 | | -
|
59 | | -``` |
60 | | ---- |
61 | | -#### Project Structure: |
62 | | -``` |
63 | | -devops-project/ |
64 | | -│ |
65 | | -├── app/ |
66 | | -│ ├── main.py |
67 | | -│ ├── models.py |
68 | | -│ ├── schemas.py |
69 | | -│ ├── crud.py |
70 | | -│ ├── database.py |
71 | | -│ ├── config.py |
72 | | -│ └── requirements.txt |
73 | | -│ |
74 | | -├── tests/ |
75 | | -│ └── test_api.py |
76 | | -│ |
77 | | -├── Dockerfile |
78 | | -├── docker-compose.yml |
79 | | -├── postman_collection.json |
80 | | -├── .env.example |
81 | | -├── .github/ |
82 | | -│ └── workflows/ |
83 | | -│ └── ci-cd.yml |
84 | | -└── README.md |
85 | | -``` |
86 | 55 | --- |
87 | 56 |
|
88 | | -### Local Setup: |
89 | | -```bash |
90 | | -cp .env.example .env |
91 | | -docker-compose up --build |
92 | | -``` |
93 | | -API available at: http://localhost:8000 |
94 | | -#### Testing: |
95 | | -```bash |
96 | | -pytest -q |
97 | | -``` |
98 | | - |
99 | | -Run API tests via Postman or Newman: |
100 | | -```bash |
101 | | -newman run postman_collection.json |
102 | | -``` |
103 | | ---- |
104 | | -#### IBM Deployment: |
| 57 | +## Sample Output |
105 | 58 |
|
106 | | -Deploying to IBM Cloud (Free-tier friendly) |
| 59 | +- Technical Score: 82/100 |
| 60 | +- Analytical Strength: 7.5 |
| 61 | +- Architectural Thinking: 8.5 |
| 62 | +- Recommended Career Path: AI/ML Engineer |
107 | 63 |
|
108 | | -Create free IBM Cloud account (no credit card required). |
109 | | -IBM |
| 64 | +--- |
110 | 65 |
|
111 | | -Install IBM Cloud CLI + Code Engine plugin. |
112 | | -DEV Community |
113 | | -``` |
114 | | -Log in: ibmcloud login → ibmcloud target -g Default |
| 66 | +## Tech Stack |
115 | 67 |
|
116 | | -Push Docker image to IBM Cloud Container Registry: |
| 68 | +- Python |
| 69 | +- FastAPI |
| 70 | +- React |
| 71 | +- SQLAlchemy |
| 72 | +- Docker |
| 73 | +- REST APIs |
| 74 | +- Chart.js |
| 75 | +- CI/CD |
| 76 | +- Cloud Deployment (Render) |
117 | 77 |
|
118 | | -ibmcloud cr login |
| 78 | +--- |
119 | 79 |
|
120 | | -docker tag ... <region>.icr.io/<namespace>/<repo>:<tag> |
| 80 | +## Motivation |
121 | 81 |
|
122 | | -docker push <region>.icr.io/<namespace>/<repo>:<tag> |
123 | | -``` |
124 | | -Deploy with Code Engine: in Console or CLI (ibmcloud ce app create ...) selecting your image. Code Engine will pull image from registry and run container automatically. |
125 | | -IBM Cloud |
| 82 | +Many students build projects without understanding their real strengths and cognitive patterns. DevIntellect bridges this gap by combining technical analytics and cognitive modeling into a structured intelligence system. |
126 | 83 |
|
127 | | -Get public URL from Code Engine and access your API |
128 | 84 | --- |
129 | | -#### Required GitHub Secrets: |
130 | | -``` |
131 | | -IBM_CLOUD_API_KEY |
132 | | -IBM_CR_REGION |
133 | | -IBM_CR_NAMESPACE |
134 | | -IBM_CR_REPOSITORY |
135 | | -IBM_CE_PROJECT |
136 | | -IBM_CE_APP_NAME |
137 | | -DATABASE_URL (optional) |
138 | | -``` |
139 | | -#### Production Notes: |
140 | 85 |
|
141 | | -Use environment variables or IBM Cloud Secrets to manage sensitive data |
| 86 | +## Future Enhancements |
142 | 87 |
|
143 | | -Avoid heavy usage that exceeds free container registry/storage limits (e.g. keep images < 500 MB) |
| 88 | +- GitHub API Auto-Integration |
| 89 | +- LLM-Based Cognitive Evaluation |
| 90 | +- Vector Embedding Skill Mapping |
| 91 | +- Multi-Agent Career Advisor Framework |
| 92 | +- Market Demand Alignment Engine |
144 | 93 |
|
145 | | -For persistence beyond container lifecycle, mount volumes or use managed databases (if you scale beyond free tier) |
| 94 | +--- |
146 | 95 |
|
147 | | -Monitor logs and container health via IBM Cloud Logging / Monitoring |
148 | | -#### Summary: |
| 96 | +## 👩💻 Author |
149 | 97 |
|
150 | | -This project demonstrates how to build, containerize, test, and deploy a backend API using modern DevOps workflows and cloud-native infrastructure. It reflects real-world engineering practices used in production environments. |
| 98 | +Namitha R |
0 commit comments