A web application to track and manage your upcoming assignments.
github.com/arian81/when-the_assignment
Table of Contents
When The Assignment is a web application designed to help students and anyone else track and manage their assignments. It allows users to create sessions, add assignments with due dates and links, categorize them by course, and view them in a list. The application also provides a calendar link for subscribing to assignments in external calendar applications.
- Session Management: Create and manage sessions to organize assignments.
- Assignment Tracking: Add assignments with titles, URLs, due dates, and course codes.
- Course Categorization: Categorize assignments by course, making it easy to view assignments for a specific subject.
- Calendar Integration: Subscribe to a calendar feed to view assignments in your preferred calendar application.
- Responsive UI: Built with modern UI components for a smooth user experience.
- Local Storage: Remembers previous sessions using local storage.
The project is built using the T3 Stack, which includes:
- Frontend: Next.js, React, Tailwind CSS, Radix UI, Geist UI, Lucide React
- Backend: tRPC, Prisma
- Database: PostgreSQL
- Other: Zod for schema validation, Superjson for data serialization
To get started with the project, follow these steps:
- Node.js (version >= 20)
- pnpm (version >= 9)
- Docker (for running the PostgreSQL database)
-
Clone the repository:
git clone https://github.com/arian81/when-the-assignment.git cd when-the-assignment -
Install dependencies:
pnpm install
-
Set up the database:
-
Copy
.env.exampleto.envand modify theDATABASE_URLif necessary. -
Run the database using Docker:
./start-database.sh
-
-
Run Prisma migrations:
pnpm db:migrate
-
Start the development server:
pnpm dev
-
Access the application:
Open your browser and navigate to
http://localhost:3000.
- This README was created using gitreadme.dev — an AI tool that looks at your entire codebase to instantly generate high-quality README files.