Ever mindlessly scroll through an anime website conflicted by what you should spend your time on? Of course you have! Your time is valuable and it should be spent wisely. With this application users, much like the first pioneers of unexplored lands, who have just watched an anime can make a review, comment, and rating and post it. Users' review lists will be displayed on their profile page and they'll also be able to navigate to a page that aggregates everyone's reviews. These reviews will give insights to which animes are worth your time.
The API used for this project: https://gogoanime.consumet.stream/search
GET https://gogoanime.consumet.stream/search?keyw={animeName}
[
{
"animeId": "naruto",
"animeTitle": "Naruto",
"animeUrl": "https://gogoanime.film///category/naruto",
"animeImg": "https://gogocdn.net/images/anime/N/naruto.jpg",
"status": "Released: 2002"
},
{
"animeId": "naruto-dub",
"animeTitle": "Naruto (Dub)",
"animeUrl": "https://gogoanime.film///category/naruto-dub",
"animeImg": "https://gogocdn.net/cover/naruto-dub.png",
"status": "Released: 2002"
},
{
"animeId": "naruto-shippuden",
"animeTitle": "Naruto Shippuden",
"animeUrl": "https://gogoanime.film///category/naruto-shippuden",
"animeImg": "https://gogocdn.net/images/anime/naruto_shippuden.jpg",
"status": "Released: 2007"
},
{
"animeId": "naruto-shippuuden-dub",
"animeTitle": "Naruto Shippuden (Dub)",
"animeUrl": "https://gogoanime.film///category/naruto-shippuuden-dub",
"animeImg": "https://gogocdn.net/cover/naruto-shippuuden-dub.png",
"status": "Released: 2007"
}
]
async function getAnime(animeName) {
const res = await fetch('ttps://gogoanime.consumet.stream/search?keyw={animeName}');
const json = res.json();
console.log(json);
}
// E.g.
getAnime('naruto')
Route | HTTP Method | DB Action | Description |
---|---|---|---|
/api/ | GET | INDEX | Indexes all reviews |
/api/profile | GET | INDEX | Indexes your reviews |
/api/ | POST | CREATE | Create a review |
/api/:anime | GET | SHOW | Shows the anime reviews |
/api/profile/:anime | PUT | UPDATE | Update a review |
/api/delete | DELETE | DELETE | Delete a review |
- Have a thoroughly documented
Team Expectations
Google document / markdown file. - Have a thoroughly developed, beautiful
README.md
file. - Take time for each team member to discuss where they feel strongest and weakest, in terms of coding ability.
- Create a Whimsical document to convey the data flow with component hierarchy included.
- Contribute equally.
- Have a solid understanding of the entire project. (Even the features implemented by other team members.)
- Take time to pair program with teammates to reinforce learning.
- Be prepared to explain sections of code that were written by teammates.
- Have a working, interactive React app, built using
npx create-react-app client
- Have at least 6 separate, rendered components in an organized and understandable React file structure.
- Utilize functional and class React components appropriately.
- Use only React for DOM Manipulation.
- Consume data from your API, and render that data in your components.
- Utilize React Router, for client-side routing.
- Authentication!
- Have working generic controller actions for CRUD using Express, Mongoose, and MongoDB.
- Authentication!
- Be styled with CSS.
- Use flexbox (
display: flex
) or CSS Grid. - Implement responsive design on 2 screen sizes (including desktop) using a media query (mobile).
- Indent properly.
- Utilize high-quality, semantic variable names and follow naming conventions.
- Remove unnecessary boilerplate React files and code.
- Remove all
console.log()
s and commented out code (functional notes/comments are okay).
- Deploy the fully functional front-end via Vercel.
- Deploy the back-end via Vercel.
- Deploy the MongoDB database on MongoDB Atlas.
- Have frequent commits from every team member dating back to the very beginning of the project. These commits should total to or exceed 50.
- Use effective and safe branching and merging processes.
- [] Navigation bar which has a homepage, profile page, and search bar (search bar interface).
- [] Component that displays username, anime title, and rating. Below the image, comment, and other users' comments are rendered.
- [] On the profile page, the component displayes the review.
- [] Routes/links to the aforementioned components.
- [] Search bar functionality is fleshed out.
- [] User comments on other users' reviews are implemented.
- [] Day 1: Get the project off the ground: proposal, notion, repo, etc.
- [] Day 2: Authentication/flesh out backend.
- [] Day 3: Developing components (NavBar & Post).
- [] Day 4: Developing components (New Post & Edit/Delete).
- [] Day 5: Formatting CSS.
- [] Day 6: Formatting CSS (Cont.) & Post-MVP.
- [] Day 7: Finalizing details (Git, Github, Vercel).