I build all of the routing and database logic for an internal tool for a comic book publishing company

In this capstone project, you will build all of the routing and database logic for an internal tool for a comic book publishing company called X-Press Publishing.
The X-Press Publishing internal tool should allow users to:
- Create, view, and update artists
- Create, view, update, and delete comic book series
- Create, view, update, and delete issues of a specific comic book series
You can view all of this functionality in action in the video below: ▶
To complete this project, I needed to create the database tables and API routes specified.
-
Setup
- Setup Project
- Setup Server. Create and export the Express app
- Create and export API Router for
/api
✔ #2 issue
-
Create Database Tables
✔ #3 issue
-
Artist
- id - Integer, primary key, required
- name - Text, required
- date_of_birth - Text, required
- biography - Text, required
- is_currently_employed - Integer, defaults to
1
-
Series
- id - Integer, primary key, required
- name - Text, required
- description - Text, required
-
Issue
- id - Integer, primary key, required
- name - Text, required
- issue_number - Text, required
- publication_date - Text, required
- artist_id - Integer, foreign key, required
- series_id - Integer, foreign key, required
-
-
Create Route Paths
✔ #4 issue
/api/artists
- GET
- POST
/api/artists/:artistId
- GET
- PUT
- DELETE
/api/series
- GET
- POST
/api/series/:seriesId
- GET
- PUT
- DELETE
/api/series/:seriesId/issues
- GET
- POST
/api/series/:seriesId/issues/:issueId
- PUT
- DELETE
A testing suite has been provided.
✔ All Test Passed
In the root directory of the project run
$ npm install
To view a local version of the site, open index.html in the browser.
- React 15
- react-router-dom 4
- mocha 10
- chai 4
- express 4
- sqlite3 5
- body-parser 1
- cors 2
- errorhandler 1
This project comes from the Codecademy's Create a Back-End with JavaScript course.