https://github.com/yll0rd/aws-community-day-cmr-cms
This is the content management system that will be used to manage data on the https://www.communityday.awscmr.com/2024 website.
https://github.com/yll0rd/aws-community-day-cmr-cms
Last synced: 10 months ago
JSON representation
This is the content management system that will be used to manage data on the https://www.communityday.awscmr.com/2024 website.
- Host: GitHub
- URL: https://github.com/yll0rd/aws-community-day-cmr-cms
- Owner: yll0rd
- Created: 2025-08-13T13:20:10.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-09-02T02:50:05.000Z (10 months ago)
- Last Synced: 2025-09-02T03:41:29.675Z (10 months ago)
- Language: TypeScript
- Homepage: https://aws-community-day-cmr-cms.vercel.app
- Size: 290 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AWS Community Day CMS π
A modern, responsive Content Management System built for managing AWS Community Day events. This CMS provides an intuitive dashboard for event organizers to manage speakers, agenda, gallery, sponsors, and venue information.
## β¨ Features
### π Authentication & Authorization
- **Role-based access control** with Admin and Editor roles
- **Secure login system** with session management
- **User profile management** with avatars
### π Dashboard & Analytics
- **Comprehensive dashboard** with real-time statistics
- **Activity tracking** and recent updates overview
- **Multi-language support** (English & French)
- **Year-based event management**
### π― Content Management
- **Hero Section Manager** - Manage banner images and hero content
- **Speaker Management** - Add, edit, and organize speaker profiles
- **Agenda Manager** - Schedule events and manage program timeline
- **Gallery Manager** - Upload and organize event photos
- **Sponsor Management** - Manage sponsor information and logos
- **Venue Manager** - Configure venue details and location info
- **Contact Manager** - Manage contact information and inquiries
- **User Management** - Admin controls for user accounts
### π Internationalization
- **Multi-language support** with context-based translations
- **Language switcher** in the header
- **Localized content management**
### π¨ Modern UI/UX
- **Responsive design** that works on all devices
- **Clean, modern interface** built with Tailwind CSS
- **Intuitive navigation** with collapsible sidebar
- **Loading states** and smooth transitions
- **AWS-themed styling** with custom color palette
## π οΈ Tech Stack
- **Framework**: [Next.js 14](https://nextjs.org/) with App Router
- **Language**: [TypeScript](https://www.typescriptlang.org/)
- **Styling**: [Tailwind CSS](https://tailwindcss.com/)
- **Icons**: [Lucide React](https://lucide.dev/)
- **State Management**: React Context API
- **Authentication**: Custom auth context with localStorage
- **Development**: ESLint for code quality
## π Getting Started
### Prerequisites
- Node.js 18+
- npm or yarn package manager
### Installation
1. **Clone the repository**
```bash
git clone
cd aws_cms
```
2. **Install dependencies**
```bash
npm install
```
3. **Start the development server**
```bash
npm run dev
```
4. **Open your browser**
Navigate to [http://localhost:3000](http://localhost:3000)
### Available Scripts
- `npm run dev` - Start the development server
- `npm run build` - Build the application for production
- `npm run start` - Start the production server
- `npm run lint` - Run ESLint for code quality checks
## π Default Login Credentials
For development and testing purposes, use these credentials:
**Admin User:**
- Email: `admin@awscommunity.cm`
- Password: `admin123`
- Role: Admin (full access)
**Editor User:**
- Email: `editor@awscommunity.cm`
- Password: `editor123`
- Role: Editor (limited access)
## π Project Structure
```
aws_cms/
βββ app/ # Next.js app directory
β βββ globals.css # Global styles
β βββ layout.tsx # Root layout component
β βββ page.tsx # Main page component
β βββ fonts/ # Custom fonts (Geist)
βββ components/ # React components
β βββ Dashboard.tsx # Main dashboard component
β βββ auth/ # Authentication components
β βββ layout/ # Layout components (Header, Sidebar)
β βββ pages/ # Page-specific components
βββ contexts/ # React contexts
β βββ AuthContext.tsx # Authentication state
β βββ LanguageContext.tsx# Internationalization
β βββ YearContext.tsx # Year management
βββ hooks/ # Custom React hooks
βββ public/ # Static assets
```
## π Internationalization
The CMS supports multiple languages:
- **English** (default)
- **French** (FranΓ§ais)
Language context provides:
- Dynamic translation system
- Language switcher in header
- Persistent language selection
- Extensible translation keys
## π¨ Design System
### Color Palette
- **Primary**: AWS Orange theme
- **Secondary**: Complementary colors
- **UI**: Neutral grays for interface elements
- **Status**: Success, warning, and error states
### Typography
- **Primary Font**: Geist Sans
- **Monospace**: Geist Mono
- **Responsive scaling** across devices
## π§ Configuration
### Environment Setup
The application uses local storage for session management and mock data for development. For production deployment, consider integrating with:
- **Database**: PostgreSQL, MongoDB, or AWS DynamoDB
- **Authentication**: AWS Cognito, Auth0, or NextAuth.js
- **File Storage**: AWS S3 for image uploads
- **Analytics**: AWS CloudWatch or Google Analytics
### Customization
- **Branding**: Update colors in `tailwind.config.ts`
- **Translations**: Add new languages in `LanguageContext.tsx`
- **Features**: Extend managers in `components/pages/`
## π± Responsive Design
The CMS is fully responsive and optimized for:
- **Desktop**: Full-featured dashboard experience
- **Tablet**: Optimized touch interface
- **Mobile**: Collapsible navigation and touch-friendly controls
## π€ Contributing
1. Fork the repository
2. Create a feature branch: `git checkout -b feature/amazing-feature`
3. Commit your changes: `git commit -m 'Add amazing feature'`
4. Push to the branch: `git push origin feature/amazing-feature`
5. Open a Pull Request
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## π― Future Enhancements
- [ ] **Database Integration** - Replace mock data with real database
- [ ] **File Upload System** - Implement image upload functionality
- [ ] **Real-time Updates** - Add WebSocket support for live updates
- [ ] **Email Notifications** - Integrate email system for user management
- [ ] **Advanced Analytics** - Enhanced dashboard metrics and reporting
- [ ] **Export Features** - Export data to various formats (PDF, CSV)
- [ ] **API Integration** - RESTful API for external integrations
- [ ] **Mobile App** - React Native companion app
## π Support
For support and questions:
- Create an issue in the repository
- Contact the development team
- Check the documentation in the `/docs` folder
---
**Built with β€οΈ for the AWS Community Day Cameroon 2025**
*This CMS is designed to streamline event management and provide a seamless experience for both organizers and attendees.*