UG Pulse is a web application designed to help manage university-related information, including student data, class schedules, and academic timelines. Built with Next.js and NextUI, it provides a modern, responsive interface.
- Timeline View: Track important academic events and deadlines
- Redis-backed storage for improved performance and data persistence
- Automatic fetching from BAAK API when data is not available
- Version history tracking to monitor changes
- Student Management: View and manage student information, including class assignments
- Schedule Management: Access and organize class schedules
- Responsive Design: Works on desktop and mobile devices
- Dark/Light Mode: Choose your preferred theme
- Next.js - React framework
- NextUI - UI component library
- Tailwind CSS - Utility-first CSS framework
- TypeScript - Type-safe JavaScript
- SWR - React Hooks for data fetching
- Upstash Redis - Serverless Redis for data storage
- Node.js 18.x or later
- npm or bun package manager
- Upstash Redis account for timeline data storage
-
Clone the repository
git clone https://github.com/yourusername/ugcnn.git cd ugcnn
-
Install dependencies
npm install # or bun install
-
Set up environment variables
Create a
.env
file in the root directory with your Upstash Redis credentials:UPSTASH_REDIS_REST_URL=your_redis_url UPSTASH_REDIS_REST_TOKEN=your_redis_token
-
Run the development server
npm run dev # or bun dev
-
Open http://localhost:3000 in your browser to see the application
npm run build
# or
bun run build
ugcnn/
├── app/ # Next.js app directory
│ ├── page.tsx # Main page component
│ ├── layout.tsx # Root layout component
│ ├── timeline/ # Timeline page
│ └── api/ # API routes
│ └── timeline/ # Timeline data API
├── components/ # Reusable UI components
├── lib/ # Utility functions
│ └── db/ # Database interactions
├── public/ # Static assets
└── styles/ # Global styles
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.