Journeyman Project
Prerequisites
You should be familiar with the principles explained in the Journeyman WebDev Badge, Journeyman CSS Badge, Journeyman JavaSript Badge, and Journeyman Node Badge before attempting this project.
Goals
- Demonstrate your understanding of advanced web development principles by developing an Express application with the following features:
- A front page
- This can be similar to your Apprentice project, except the HTML will be delivered by the server
- A blog
- The blog posts will be stored on an external CMS. Data about the blog posts will be retrieved by the Express server and delivered to the client with a template.
- https://www.contentful.com is a good option, since it provides an unlimited free plan sufficient for this project.
- You’ll implement the following pages:
- A Posts List
- An individual post page
- Extra Credit, but not required: Categories listing. Show a list of categories on the page somewhere which link to a categories page that shows a list of the blog posts that have that category
- A ‘Contact’ form with the following:
- Name
- Message
- This form should call an API which you have set up on your server with the information in the form. The server doesn’t have to do anything with the form other than log it to the console.
- Pages should be well designed, with good use of space, typography, images, and color.
- A front page
- Your project should also include the following:
- Use of ES6, linting (Flow is optional), and Babel as needed
- Unit Tests (where appropriate)
- A CSS Preprocessor
- Tooling set up to watch files and compile code
- A README.md written in Markdown explaining your project
Tips:
- Work with a mentor. This is a common practice for beginning web developers, and the mentors will be able to give you the support you need.
- Review the resources in the Journeyman rank. Everything you need to know for this project can be found in the badges.
- Test out your designs on CodePen and RunKit.