The official portal for OSUT (Organizația Studenților din Universitatea Tehnică din Cluj-Napoca). This project is a modern, high-performance web application designed to keep students informed, represent their interests, and showcase the organization's initiatives.
- Framework: Next.js 16 (App Router)
- Library: React 19
- Styling: Tailwind CSS 4 & Vanilla CSS
- Data Store: Vercel Blob (JSON-based serverless storage)
- Deployment: Vercel
- Icons: Iconoir
- Dynamic Blog system: "OSUT te informează" - fully manageable news feed.
- Admin Dashboard: Secure panel at
/adminto Create, Edit, and Delete posts. - Optimized Performance: 100%
next/imageusage with proper sizing and LCP strategies. - Full SEO: Dynamic
sitemap.xml,robots.txt, and metadata optimized forosut.org. - Sustainability Hub: Dedicated section for green initiatives and activity reports.
- Responsive Design: Mobile-first approach with premium animations and gradients.
- Node.js 20+
- A Vercel account (for Blob storage)
-
Clone the repository:
git clone https://github.com/osutcj/osut.git cd osut -
Install dependencies:
npm install
-
Configure Environment Variables: Create a
.env.localfile in the root directory:# Secure password for the /admin dashboard ADMIN_PASSWORD=your_secure_password # Required for production storage (Get from Vercel Dashboard) BLOB_READ_WRITE_TOKEN=your_vercel_blob_token
-
Run the development server:
npm run dev
Open http://localhost:3000 to see the result.
app/: Contains all routes and API endpoints.components/: Modular UI building blocks.lib/: Shared utility logic, including theposts.tsdata layer.public/: Static assets, images, and PDF documents.
To manage the website content:
- Navigate to
/admin. - Enter the
ADMIN_PASSWORDdefined in your environment variables. - Use the dashboard to publish news. Changes typically propagate within 1-3 seconds due to Vercel Blob's global sync.
This project is maintained by OSUT Cluj. All rights reserved.