The goal of this project is to create a Blog web application using Node.js, Express.js, and EJS. The application will allow users to create and view blog posts. Posts will not persist between sessions as no database will be used in this version of the application. Styling will be an important aspect of this project to ensure a good user experience.
http://www.paulgraham.com/articles.html
One Node project for the function of the website
Including at least one EJS file for the structure of the website
Including at least one CSS file for the styling of the website
1. Post Creation: Users should be able to create new posts.
2. Post Viewing: The home page should allow the user to view all their posts.
3. Post Update/Delete: Users should be edit and delete posts as needed.
3. Styling: The application should be well-styled and responsive, ensuring a good user experience on both desktop and mobile devices.
1. Node.js & Express.js: The application will be a web server built using Node.js and Express.js. Express.js will handle routing and middleware.
2. EJS: EJS will be used as the templating engine to generate dynamic HTML based on the application's state.
Hour 0: Planning
Gather content and design ideas, create wireframes and mockups. Plan out how the application will work, which routes might be necessary and which pages need to be made.
Hour 1: Setup
Set up the project repository, initialize the Node.js application, and install necessary dependencies (Express.js, EJS).
Create the application structure, including routes, views, and static files.
Set up the Express.js server and define the necessary routes.
Hour 2-3: Implementing Features
Implement the post creation feature. This includes creating the form on the home page and handling the form submission in the server.
Implement the post viewing feature. This includes displaying all the posts on the home page.
Implement the post edit feature. This includes using a form to load the existing blog post and allowing the user to edit and save the post.
Implement the delete feature. This allows the user to click a button and remove the post from the home page.
Implement the alternative list to show a different set of todo tasks.
Test the application to ensure that post creation and viewing are working correctly.
Hour 4-5: Styling and Polishing
Style the application. This includes creating a CSS file, linking it to your EJS templates, and writing CSS or using Bootstrap/Flexbox/Grid to style the application.
Test the application on different devices and browsers to ensure the styling works correctly.
Fix any bugs or issues that came up during testing.
1. Where are the starting files/styling files/solution code?
The purpose of Capstone projects is for you to develop the independent skills required in a professional developer. Unlike the tutorial projects at the end of the modules, capstone project give you far more freedom, but also they give you less help. There are no starting files, styling files, steps, guidance or solution code. The point is for you to build a real-life project by yourself using the skills you have acquired up to this point. We are assuming you have not skipped over any modules in the course.
For more information on capstone projects, see this video: https://www.udemy.com/course/the-complete-web-development-bootcamp/learn/lecture/37350282
2. Can I use these Capstone projects in my job interviews/portfolio?
Yes! That's the point of these capstone projects. Unlike course projects, which have solution code and video walkthroughs, Capstone Projects are meant to be entirely your "own work". There are over a million students who have enrolled on this web development course worldwide. If you add a course project to your portfolio, it's very likely that your client will know it's from this course. The capstone projects on the other hand, have no solution code, no walk through, no design specs. It's it purely your creation So it can definitely be counted as your own work and be added to your portfolio.
When I hire developers, I always ask for a portfolio. I consider what they have built by themselves to be far more important than which University they went to or if they have a computer science degree. Many of my friends who are CEOs in multi-nationals and startups agree.
3. What if I don't remember how to do something, even though I watched all the videos?
Watching a video is often not enough to learn a skill. That's why these capstone projects are a great opportunity to identify your weak points. While you're building, you'll find yourself stuck or forgetting how to do things. Great! It's then time to review previous lessons or online documentation to fill your knowledge gaps.