A full CRUD application built using the MELN(MongoDB,Express,LiquidJS,Node) stack.

Overview

General Assembly Logo

Pokedex

Your mission is to be the very best, like no one ever was, at making a Pokémon manager (a Pokédex).

Learning Objectives

  • Full CRUD App

Prerequisites

  • JavaScript
  • Node / Express
  • HTML / CSS

Getting Started

All you are given is a pokemon.js file that has all the raw data for 151 Pokémon (it's over 50,000 lines of code). You can render this as JSON in your browser. If you decide to check it out in your text editor, don't click on or open this file unless you are prepared to wait a minute or so for it to load. It is a huge file.

It is up to you how you build your app, in what order you want to do things, what kind of design flow your app will have, where you put your delete button, etc, and what parts of the Pokémon data your pages will display.

There are a few requirements to keep in mind:

MVP (Minimum Viable Product)

Your app should:

- display a bunch of Pokémon images on the index
- have separate show pages for each Pokémon, accessible by clicking on a Pokémon's image on the index page
- have the ability to add a new Pokémon
- have the ability to edit existing Pokémon
- have the ability to delete Pokémon
- have some styling

Setting up

  1. Work inside the given pokedex folder

  2. Ideally, your app should follow the MVC format of models, views, and controllers (these are your routes for now).

  3. However, note you don't actually need a controllers folder for now since all your routes will be in your server.js file

Routes

Your app should use RESTful routes:

  • Index
    • GET /pokemon
  • Show
    • GET /pokemon/:id
  • New
    • GET /pokemon/new
  • Edit
    • GET /pokemon/:id/edit
  • Create
    • POST /pokemon
  • Update
    • PUT /pokemon/:id
  • Destroy
    • DELETE /pokemon/:id

Need a jumpstart?

Some server.js starter code to get you started
const express    = require('express');
const app        = express();

const Pokemon = require('../models/pokemon.js');

// INDEX app.get('/', (req, res) => { res.render('index.liquid', { data: Pokemon }); });

// SHOW app.get('/:id', (req, res) => { res.render('show.liquid', { data: Pokemon[req.params.id] }); });

Data

Notes on the Pokémon data and what to display

The pokemon.js file is massive and there is a ton of data to parse through. You need not display all of it on your pages. On your index page, you can just render the images.

Here are suggestions for what to display on your Pokémon's show page:

  • The pokemon's name
  • The image of the pokemon
  • An unordered list of the Pokemon's types (eg. water, poison, etc).
  • The pokemon's stats for HP, ATTACK, and DEFENSE.

Style Your App

Try and make your app look and act nicely with static assets (set up a public folder and add some css, js)-- consider using some jQuery!

Need some style inspiration?

These are screenshots from what other students have done to their Pokedex:

Example 1

Example 2

Example 3

Commits

The order of your commits this time does not matter, but refer back to the MVP to make sure that you're meeting all of the requirements. Make your commits as you complete the work, not all at once in the end! Some sample commits can be found below.

Sample commits:
** Commit your work.**
"Server is working and displays a plain index page"

** Commit your work.**
"Displays a bunch of Pokémon images on the index".

** Commit your work.**
"Has separate show pages for each Pokémon".

** Commit your work.**
"Has the ability to add a new Pokémon".

** Commit your work.**
"Has the ability to edit existing Pokémon".

** Commit your work.**
"Has the ability to delete Pokémon".

** Commit your work.**
"The app uses RESTful routing, all seven RESTful routes".

** Commit your work.**
"View templates are complete".

** Commit your work.**
"Static assets included (CSS) and styled app".

Deliverables

  • A Pokedex app that meets all the MVP requirements outlined at the beginning of this markdown.

Technical Requirements

  • Your app MUST run without syntax errors. If there are errors you can't solve, comment them out and leave a comment above explaining what is wrong

Submission Guidelines

  • Submit your homework via the homework submission form pinned to the classroom channel

You might also like...

A CRUD implementation using sequelize, mySQL, NODEJS, Express, JWT and other technologies.

A CRUD implementation using sequelize, mySQL, NODEJS, Express, JWT and other technologies.

A ideia do projeto é simular o funcionamento do backend de um blog através da implementação de uma aplicação em Node.js usando o pacote sequelize para

May 11, 2022

Very simple full-stack application using React, Java Spring Boot, and PostgreSQL

Very simple full-stack application using React, Java Spring Boot, and PostgreSQL. The API was built following the N-Tier architecture. The goal was to explore and learn more in-depth the development of APIs, the use of Docker and deploying with AWS.

Apr 23, 2022

To do list is a simple CRUD application that allows you to add, delete, update tasks that you are supposed to do. It is built with HTML, CSS and JavaScript

To do list is a simple CRUD application that allows you to add, delete, update tasks that you are supposed to do. It is built with HTML, CSS and JavaScript

to do List To do list is a simple CRUD application that allows you to add, delete, update tasks that you are supposed to do. Built With HTML-5 CSS3 Ja

Jun 7, 2022

Mongo Strict is a TypeScript based smart MongoDB ORM, It makes the usage of MongoDB safer, easier and faster with a better performance...

mongo-strict mongo-strict is compatible with mongo = 5 Mongo Strict is a TypeScript-based smart MongoDB ORM, It makes the usage of MongoDB safer, eas

Sep 22, 2022

Crud with GraphQL + Express + Json Server

How to run the project ### Install dependecies $ yarn install ### Run GraphQL server $ yarn dev ### Run Json Server $ yarn run json:server ### The

Jun 22, 2022

CRUD APIs in NodeJS, Express and MySQL

Create CRUD APIs in NodeJS, Express and MySQL This is a simple NodeJS, Express and MySQL CRUD API example. that allows you to create, read, update and

Oct 19, 2022

This will create a REST API using Express JS and MongoDB removing the hassle of creating everything from scratch.

rest-api-init Fastest way to create REST API with Node.js, Express.js & MongoDB. Prerequisites Node.js needs to be installed. MongoDB Compass needs to

Dec 3, 2022

implements user authentication and session management using Express.js, MongoDB, and secure cookies

Auth-Flow This project is a simple user authentication system that uses Express.js and MongoDB to store user data. The system allows users to sign up

Mar 17, 2023

Full Stack project- Web application to create a biking session

Full Stack project- Web application to create a biking session

Bicycool Full Stack project: Web application to create a biking session To install and run the project: Run in the terminal of a server folder: -npm i

Mar 10, 2022
Owner
Anthony Njoroge
Hello! My name is Anthony Njoroge and I am a full-time independent open source developer and freelance programmer.
Anthony Njoroge
Online Inventory Control System for an apparel manufacturing company "CASANOVA" (Pvt) Ltd. Technology stack: Node.js, Express.js, MongoDB Atlas, React.js (MERN Stack).

Project Name - Online Inventory Control System for an apparel manufacturing company "CASANOVA". The project was given a "A" grade. Group Leader - IT20

Pasindu Rukshan 1 Dec 26, 2021
The frontend of a full stack application of a personal wallet made with React, Node and MongoDB that allows you to add inputs, outputs and see all your extract.

The frontend of a full stack application of a personal wallet made with React, Node and MongoDB that allows you to add inputs, outputs and see all your extract.

Bernardo Rodrigues 5 Jun 2, 2022
The backend of a full stack application of a personal wallet made with React, Node and MongoDB that allows you to add inputs, outputs and see all your extract.

My first full stack application with the concept of a personal wallet that allows you to create a personal account to keep track of your entire statement by adding incoming and outgoing transactions, as well as calculating the total balance and being able to edit and delete old transactions.

Bernardo Rodrigues 6 Jun 23, 2022
I built a full-stack project using Node, Express, Mongo, webRTC, socket.io, and of course React JS. This project is inspired by the awesome Clubhouse 😊

codershouse-mern - This Project is Under Development. Below are some of the implemented interface and the remaining features will be updated in future

Bishal Das 35 Nov 18, 2022
Full-Stack CRUD Application With Angular + Firebase Database + Authentication + REST APIs

BookCompany Full-Stack CRUD Application With Angular + Firebase Database + Authentication + REST APIs Technologies & Features Angular front-end framew

Rodrigo Bravo 3 Apr 10, 2022
Another full-stack URL Shortener application built using web technologies

URL Shortener Another full-stack URL Shortener application built using web technologies. Technologies Node Express MongoDB React TypeScript Docker Pro

Soroush Chehresa 9 Dec 15, 2022
A developer directory built on Next.js and MongoDB Atlas, deployed on Vercel with the Vercel + MongoDB integration.

MongoDB Starter – Developer Directory A developer directory built on Next.js and MongoDB Atlas, deployed on Vercel with the Vercel + MongoDB integrati

Vercel 246 Dec 20, 2022
This is the FARM Stack course, where you are going to learn how to build an application from scratch using FASTAPI, React and mongoDB

FARM-Stack-Course This is the FARM Stack course, where you are going to learn how to build an application from scratch using FASTAPI, React and mongoD

Bek Brace 121 Jan 2, 2023
This an CRUD app built were users can create, update and delete specific day to day tasks as they wish. The app is built using webpack and served with webpack dev server

Todo-List This an CRUD app built were users can create, update and delete specific day to day tasks as they wish. The app is built using webpack and s

Duane David 10 Sep 28, 2022
It is a solo Project and In this repo I try to build a E-Commerce full-stack website with MERN stack technologies. For Practice purpose.

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Alok Kumar 5 Aug 3, 2022