Note: The
.dbfile is directly pushed to git for demo purposes to ensure the application works immediately upon deployment. In a real production environment, database files isre not be committed to version control.
A modern, responsive web application for managing Boring Campus's daily operations, student records, attendance, and communication.
- User Authentication - Secure login for admin and student roles
- Dashboard - Overview of key metrics and quick actions
- Student Management - Add, view, and manage student records
- Attendance Tracking - Mark and monitor student attendance
- Announcements - Post and view important notices
- Responsive Design - Works on desktop and mobile devices
- Modern UI/UX - Clean, intuitive interface with dark mode support
- Frontend: Next.js 13, React 19, TypeScript, Tailwind CSS
- Styling: CSS Modules, PostCSS, Autoprefixer
- State Management: React Context API
- Database: SQLite with better-sqlite3
- Authentication: NextAuth.js
- Form Handling: React Hook Form
- Icons: React Icons
- Linting & Formatting: ESLint, Prettier
- Node.js 18+ and npm/yarn/pnpm
- Git
-
Clone the repository:
git clone https://github.com/yourusername/boring-campus.git cd boring-campus -
Install dependencies:
npm install # or yarn # or pnpm install
-
Set up environment variables:
cp .env.local.example .env.local
Update the
.env.localfile with your configuration. -
Initialize the database:
npm run db:init
Start the development server:
npm run dev
# or
yarn dev
# or
pnpm devOpen http://localhost:3000 in your browser to see the application.
npm run build
npm start/boring-campus
├── components/ # Reusable UI components
├── lib/ # Utility functions and configurations
├── pages/ # Application pages and API routes
│ ├── api/ # API routes
│ ├── admin/ # Admin dashboard and management pages
│ └── student/ # Student portal pages
├── public/ # Static files
├── styles/ # Global styles and CSS modules
└── types/ # TypeScript type definitions
- Fork the repository
- Create a new branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.