For this assignment, you will work in groups of 3-4 students to develop a complete web application using HTML, CSS, and JavaScript with Express.js for the backend. This project will allow you to apply all the skills you've learned throughout the course in a collaborative setting.
You have 4 weeks to complete this project with the following key deliverables:
-
Week 1: Ideation and Proposal
- Deliverable: README.md describing the project, features, and team responsibilities
-
Week 2: Alpha Version
- Deliverable: First functional prototype demonstrating core features
-
Week 3: Beta Version
- Deliverable: Refined application with most features implemented
-
Week 4: Final Version (V1)
- Deliverable: Complete, polished application ready for submission
-
Demo
- Deliverable: 5-minute Zoom recording demonstrating your application
- Each team member must speak for at least 1 minute
Your web application must include:
-
Frontend
- Responsive HTML/CSS layout
- Client-side form validation
- Interactive UI elements using JavaScript
- Consistent design system and typography
-
Backend (Express.js)
- RESTful API endpoints
- Data persistence (file-based or database)
- Error handling
- Authentication (optional)
-
Full-Stack Features
- CRUD operations
- Input validation (both client and server side)
- At least one complex feature unique to your project
Choose one of the following project ideas or propose your own (with instructor approval):
- Recipe Sharing Platform
Entities: User, Recipe Minimal Features: Create recipe (title, description, instructions, ingredients) View all recipes View single recipe (Optional) Tag recipes, like recipes
- Task Management System
Entities: User, Task, (optional: Project/List) Minimal Features: Create task (title, status) View/edit/delete tasks (Optional) Assign to user, add due date
- Twitter Clone
Entities: User, Tweet/Post Minimal Features: Create post (text, timestamp) View feed (Optional) Like/retweet, reply
- Local Event Finder
Entities: User, Event Minimal Features: Create event (title, datetime, location) View all events (Optional) RSVP feature
- Fitness Tracker
Entities: User, Exercise/Entry Minimal Features: Log workout (type, duration, date) View log history
- Book/Movie Review Site
Entities: User, Book/Movie, Review Minimal Features: Add book/movie Add review (rating, comment) View reviews
- Budget Planner
Entities: User, Expense/Income Minimal Features: Add expense/income (amount, date, category) View summary/list
- Digital Notebook/Wiki
Entities: User, Note/Page Minimal Features: Create/edit note (title, content) View notes
- Interactive Visualization Tool
Entities: User, Dataset/Chart Minimal Features: Upload data or input directly Render a basic chart (bar/line)
Feel free to adapt these ideas or propose something entirely different that interests your team!
Your project must follow this directory structure:
├── /
├── app.js
├── package.json
├── public/
│ ├── css/
│ ├── js/
│ └── images/
├── routes/
│ └── api/
├── views/
├── middleware/
├── models/
├── config/
├── utils/
└── README.md
Your project will be evaluated on:
-
Functionality (40%)
- All features work as described
- No major bugs or errors
- Proper error handling
-
Code Quality (25%)
- Well-structured and organized code
- Proper comments and documentation
- Follows best practices
-
Design and User Experience (20%)
- Visual appeal and consistency
- Intuitive navigation and interface
- Responsive design
-
Presentation and Documentation (15%)
- Clear and engaging demo
- Comprehensive README
- Equal contribution from all team members
- Individual Contribution: All team members must contribute code. Zero code contribution will result in no credit for that student.
- Version Control: Use Git for collaboration and maintain a clear commit history.
- Progress Updates: Weekly check-ins will be required to ensure steady progress.
- Technology Stack: You may use additional libraries with instructor approval, but the core must be HTML, CSS, JavaScript, and Express.js.
- Push your code to GitHub under the specified directory structure
- Submit your repository link through the class portal
- Upload your demo video to the designated platform
- Include a contribution.md file detailing each member's contributions
May 14th, 11:59pm
Good luck with your projects! This is your opportunity to showcase all you've learned throughout the course while gaining valuable collaborative development experience.