Skip to content

Commit 48729e6

Browse files
committed
intial commit 2
1 parent 9f90169 commit 48729e6

File tree

10 files changed

+753
-52
lines changed

10 files changed

+753
-52
lines changed

docs/architecture/0verview.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
2+
3+
## Architecture Overview
4+
5+
This repository may appear to follow a microservices architecture; however, this was **not the original design objective**.
6+
7+
Each service was developed **independently and at different times**, with the intention of being **hosted and operated individually**. The current repository functions as a **central hub (Gecian Hub)** that brings these services together.
8+
9+
Gecian Hub primarily serves as a **showcase, collaboration, and discovery layer**, while adjacent or related services maintain their **own value, specialization, and autonomy**.
10+
11+
## Repository Structure
12+
13+
* The repository aggregates multiple **independently developed services**.
14+
* These services are **loosely coupled** and designed to function independently.
15+
* Gecian Hub acts as a **coordinator and interface**, not as a monolithic application.
16+
* For **future maintenance and security purposes**, the frontend of individual services may be integrated into the Gecian Hub, while their backends can be migrated or connected to the Gecian backend **without merging everything into a single system**.
17+
This separation is intentional and exists to support **tighter security controls and better isolation**.
18+
19+
## Backend & Frontend Architecture
20+
21+
* Both the **frontend and backend are implemented using Next.js**.
22+
* Server-side functionality is handled through **Next.js API routes and server components**, where appropriate.
23+
* The system follows a **minimal data policy**:
24+
**only data strictly required for functionality is collected and processed**.
25+
26+
⚠️ **Important**
27+
The collection or storage of unnecessary user or system data is strictly prohibited. Any violation may result in **security, compliance, or operational issues**.
28+
29+
## Storage Strategy
30+
31+
* **Indexed storage** is used wherever possible to optimize read and write performance.
32+
* The architecture is designed to operate within **free-tier hosting limitations**.
33+
* Storage usage and access patterns are carefully planned to **avoid hitting platform-imposed limits**.
34+
35+
## Performance & Cost Optimization
36+
37+
* Client-side load is kept **as low as possible**.
38+
* Heavy computation is avoided on the client whenever feasible.
39+
* **Selective caching** is applied across both frontend and backend layers to reduce redundant requests and improve performance.
40+
* Network calls are minimized, and shared resources are reused where appropriate.
41+
42+
## Key Design Principles
43+
44+
* Modular and loosely coupled services
45+
* Cost-efficient and **free-tier friendly** architecture
46+
* Minimal client payload
47+
* Indexed and optimized storage
48+
* Selective and intentional caching
49+
* **Privacy-first and security-conscious** data handling
50+

docs/architecture/technology.md

Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
Below is a **clean, corrected, and professional version** of your document with the **Analytics** and **Security tooling (Snyk + Dependabot)** sections properly added.
2+
I’ve kept the tone suitable for **2025, a student-driven volunteer project**, and something you can confidently include in **reports, approvals, and resumes**.
3+
4+
---
5+
6+
# 🧱 Technology Stack & Rationale
7+
8+
This document outlines the technologies used in the project and the reasoning behind each choice. The stack is intentionally selected to be **simple, cost-effective, secure, and suitable for a student-driven, volunteer-based team in 2025**.
9+
10+
---
11+
12+
## Frontend & Backend
13+
14+
### Next.js (Frontend & Backend)
15+
16+
Both the **frontend and backend are built using Next.js**.
17+
18+
**Reasons for choosing Next.js:**
19+
20+
* Simpler development model compared to managing React separately with additional backend frameworks
21+
* Built-in support for **SEO, Server-Side Rendering (SSR), and fast initial load times**
22+
* Widely known and adopted by students and developers in **2025**
23+
* Strong ecosystem with extensive **npm package** support
24+
* Unified framework reduces architectural complexity and onboarding time
25+
26+
Using Next.js for both frontend and backend allows the team to maintain a **single, consistent technology stack**, which is critical for long-term maintainability in a volunteer project.
27+
28+
---
29+
30+
## Authentication & Security
31+
32+
### Firebase Authentication
33+
34+
Authentication is handled using **Firebase Authentication**.
35+
36+
**Reasons for choosing Firebase Auth:**
37+
38+
* Free to use within the project’s scope
39+
* Authentication and security infrastructure is managed by **Google**
40+
* Supports multiple authentication methods and additional security factors
41+
* Eliminates the need to implement and maintain custom authentication logic
42+
* Reduces risks related to **student and user data leakage**, which would be a serious concern
43+
44+
Firebase may also be used for limited storage or related services when appropriate.
45+
46+
---
47+
48+
## Database
49+
50+
### Neon (PostgreSQL)
51+
52+
The project uses **Neon** as the PostgreSQL database provider.
53+
54+
**Reasons for choosing Neon:**
55+
56+
* Generous **free-tier offering**
57+
* Fully managed PostgreSQL with modern scaling capabilities
58+
* Cost-effective for student projects
59+
* Seamless integration with Next.js and modern JavaScript stacks
60+
61+
This choice aligns with the project’s goal of remaining **free-tier friendly while production-ready**.
62+
63+
---
64+
65+
## Hosting & Deployment
66+
67+
### Netlify
68+
69+
The application is hosted on **Netlify**.
70+
71+
**Hosting decision background:**
72+
73+
* Initially explored **Cloudflare Workers (Node.js runtime)**
74+
75+
* Dropped due to limitations in full Node.js environment support
76+
77+
* Netlify was selected because:
78+
79+
* Native integration with **GitHub organizations**
80+
* No requirement to fork repositories into personal accounts
81+
* Simplified CI/CD and deployment workflows
82+
83+
While platforms like Vercel are popular, **Netlify better fits the team structure, access control needs, and workflow constraints** of this project.
84+
85+
---
86+
87+
## Testing Strategy
88+
89+
### End-to-End (E2E) Testing
90+
91+
**Playwright** is recommended for E2E testing.
92+
93+
**Reasons for choosing Playwright:**
94+
95+
* Supports modern browser automation
96+
* Can generate automation scripts from recorded user interactions
97+
* Lighter and easier to configure than Selenium
98+
* Suitable for both functional and UI testing
99+
100+
**Alternatives considered:**
101+
102+
* **Selenium** – Industry standard, but heavy and complex
103+
* **Cypress** – Good option, but setup and configuration can be more opinionated
104+
105+
---
106+
107+
### Unit & Component Testing
108+
109+
* **Jest**
110+
* **React Testing Library**
111+
112+
These tools are recommended for unit and component testing. Adoption may increase as team familiarity grows.
113+
114+
---
115+
116+
## CI / CD
117+
118+
### GitHub Actions
119+
120+
CI/CD is implemented using **GitHub Actions**.
121+
122+
**Reasons for choosing GitHub Actions:**
123+
124+
* Native integration with GitHub repositories
125+
* Centralized automation within the GitHub ecosystem
126+
* Matches the current skill level of the team
127+
* Simplifies automation for:
128+
129+
* Builds
130+
* Tests
131+
* Security checks
132+
* Deployments
133+
134+
---
135+
136+
## Analytics & Monitoring
137+
138+
### Google Analytics
139+
140+
The project integrates **Google Analytics** for usage and traffic analytics.
141+
142+
**Reasons for choosing Google Analytics:**
143+
144+
* Free and industry-standard analytics platform
145+
* Provides **real-world usage data** (active users, sessions, engagement)
146+
* Enables contributors to truthfully state analytics-related experience on their resumes
147+
* Helps the team make **data-driven decisions** instead of assumptions
148+
149+
Having real production analytics allows contributors to present their experience in a **measurable and verifiable format** (e.g., *“Managed analytics for a production PWA with X monthly users”*).
150+
151+
---
152+
153+
## Security Tooling
154+
155+
### Dependency & Vulnerability Management
156+
157+
To maintain security without heavy operational overhead, the project integrates:
158+
159+
#### **Dependabot**
160+
161+
* Automated dependency updates
162+
* Pull requests for vulnerable packages
163+
* Native GitHub integration
164+
* Helps keep dependencies up-to-date with minimal manual effort
165+
166+
#### **Snyk**
167+
168+
* Scans for vulnerabilities in:
169+
170+
* npm dependencies
171+
* Application code
172+
* Provides clear remediation guidance
173+
* Acts as an additional security layer beyond Dependabot
174+
175+
These tools help ensure that **security issues are identified early**, which is critical for a publicly accessible student platform.
176+
177+
---
178+
179+
## Project Management & Collaboration
180+
181+
### GitHub-Native Tooling
182+
183+
The project relies entirely on **GitHub’s ecosystem**:
184+
185+
* **GitHub Issues** – Bug tracking and task management
186+
* **GitHub Discussions** – Design discussions and community interaction
187+
* **GitHub Projects** – Planning, roadmaps, and task boards
188+
189+
**Why not Slack, Jira, etc.?**
190+
191+
* This is a **college project with volunteer contributors**
192+
* External tools introduce unnecessary complexity
193+
* Such tools require high discipline and constant engagement
194+
* GitHub provides sufficient functionality while keeping everything centralized
195+
196+
---
197+
198+
## Guiding Principles Behind Technology Choices
199+
200+
* Free-tier friendly
201+
* Simple onboarding for new student contributors
202+
* Secure by default
203+
* Minimal operational overhead
204+
* Fully GitHub-integrated workflow
205+
* Practical and sustainable for a volunteer-driven academic project
206+
207+
---

docs/goals.md

Whitespace-only changes.

docs/index.md

Lines changed: 48 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,68 @@
1-
# MkDocs Material Template
1+
this is the doucmetnon of gecian hub
22

3-
A complete starter template showcasing **all major MkDocs Material features**.
3+
Home
4+
Install App
5+
User Guide
6+
WhatsApp Channel
7+
Bug & Discussion
8+
Terms & Conditions
49

5-
---
10+
Gecian Hub – User Guide
11+
📌 Installing the App (PWA)
12+
Gecian Hub supports Progressive Web App (PWA) installation on mobile and desktop.
613

7-
## ✨ Included Examples
14+
How to Install
15+
Mobile (Android / iOS): Open sidebar → Install App → follow the instructions.
16+
Desktop (Windows / Mac / Linux): Click the browser’s Install App icon in the URL bar.
17+
🏠 Home Page Features
18+
1. Timetable Viewer
19+
Upload your timetable as a PDF or image. Tap to view fullscreen. A right-side button allows you to return.
820

9-
- Admonitions
10-
- Tabs
11-
- Code blocks
12-
- Tables
13-
- Diagrams
14-
- Icons & Emojis
21+
2. College Login
22+
Direct shortcut to GEC SKP ETLab login.
1523

16-
# Code Blocks
24+
3. Bus Timings
25+
Based on the official PDF released by the college.
1726

18-
## Basic Code Block
27+
4. Project Showcase
28+
Share your mini and main projects with fellow classmates.
1929

20-
```python
21-
def hello():
22-
print("Hello, MkDocs!")
30+
5. KTU Login
31+
Direct access to KTU student portal.
2332

24-
---
33+
6. SPA Calculator
34+
Opens an external SGPA/CGPA calculator website.
2535

26-
## 4️⃣ Tabs Example (`markdown/tabs.md`)
36+
7. Anonymous Complaint Box
37+
Redirects to a secure external form. Gecian Hub does not collect, view, or track any complaint details.
2738

28-
```md
29-
# Tabs
39+
8. Hackathons
40+
Links to major platforms like Devpost for national and international hackathons.
3041

31-
=== "Python"
32-
```python
33-
print("Hello from Python")
34-
```
42+
9. College Map (3D)
43+
Interactive 3D map of GEC SKP created by a senior student.
3544

36-
=== "JavaScript"
37-
```js
38-
console.log("Hello from JavaScript");
39-
```
45+
10. Repetro (Scholarships & Resources)
46+
Get previous year questions, scholarships, internships, and research opportunities.
4047

41-
=== "Bash"
42-
```bash
43-
echo "Hello from Bash"
44-
```
45-
# Tables
48+
11. Clubs
49+
View all student clubs and communities in the college.
4650

47-
| Feature | Supported |
48-
|--------|-----------|
49-
| Tabs ||
50-
| Icons ||
51-
| Diagrams ||
51+
12. Private Hostels
52+
List of nearby PGs and hostels around GEC SKP.
5253

54+
13. Project Collaboration
55+
Post your idea, required skills, and find collaborators from any department for interdisciplinary projects.
5356

54-
# Icons & Emojis
57+
14. Study Materials
58+
Directs to KTU Notes for now. More resources will be added later.
5559

56-
## Icons
60+
15. Attendance
61+
Track your personal attendance.
5762

58-
:material-home: Home
59-
:material-github: GitHub
63+
16. Finance Tracker
64+
Record and manage daily expenses.
6065

61-
## Emojis
62-
63-
:rocket: :fire:
64-
65-
66-
# Diagrams
67-
68-
```mermaid
69-
graph TD
70-
A[User] --> B[MkDocs]
71-
B --> C[Material Theme]
66+
17. College Calendar
67+
Shows college events and upcoming activities.
7268

docs/lesson-learned.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
the cloudfare new method is not compatibliy wiht the node enviorment

0 commit comments

Comments
 (0)