0% found this document useful (0 votes)
13 views2 pages

Final Challenge

The document outlines a challenge to build a complete URL Shortener platform, including backend development with Node.js and Express, a PostgreSQL database using Prisma ORM, and a ReactJS frontend. It details milestones for backend and frontend development, deployment, and submission requirements, along with bonus points for additional features like pagination and user authentication. The challenge emphasizes the integration of all components and the need for a README file for local setup instructions.

Uploaded by

omarmendas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views2 pages

Final Challenge

The document outlines a challenge to build a complete URL Shortener platform, including backend development with Node.js and Express, a PostgreSQL database using Prisma ORM, and a ReactJS frontend. It details milestones for backend and frontend development, deployment, and submission requirements, along with bonus points for additional features like pagination and user authentication. The challenge emphasizes the integration of all components and the need for a README file for local setup instructions.

Uploaded by

omarmendas
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Bootcamp Challenge: URL Shortener

Platform
Overview
In this challenge, you will build a complete URL Shortener platform. This includes developing a
backend using Node.js and Express, a PostgreSQL database with Prisma ORM, and a ReactJS
frontend. Finally, you will deploy the entire application.

Milestones and Points


Milestone 1: Backend Development (30 Points)

1.​ Task 1.1: Initialize Node.js and Express Application (5 Points)


2.​ Set up a new Node.js project.
3.​ Install Express and configure the basic server setup.
4.​ Task 1.2: Database Setup with Prisma ORM (10 Points)
5.​ Set up a PostgreSQL database.
6.​ Initialize Prisma and configure it to connect to your database.
7.​ Define the data model for URLs.
8.​ Task 1.3: Implement CRUD Operations (15 Points)
9.​ Create URL: Implement an endpoint to create a new shortened URL.
10.​Get List of URLs: Implement an endpoint to retrieve a list of all URLs.
11.​Get URL with Stats: Implement an endpoint to retrieve a specific URL and its statistics.
12.​Update URL: Implement an endpoint to update an existing URL.
13.​Delete URL: Implement an endpoint to delete a URL.

Milestone 2: Frontend Development (30 Points)

1.​ Task 2.1: Initialize ReactJS Application (5 Points)


2.​ Set up a new ReactJS project using Create React App.
3.​ Task 2.2: Build User Interface (10 Points)
4.​ Design a user-friendly interface for interacting with the URL shortener service.
5.​ Implement forms and views for creating, listing, updating, and deleting URLs.
6.​ Task 2.3: Integrate with Backend (15 Points)
7.​ Connect the ReactJS frontend with the Express backend using API calls.
8.​ Ensure all CRUD operations are functional from the frontend.
Milestone 3: Deployment (40 Points)

1.​ Task 3.1: Deploy Backend (10 Points)


2.​ Deploy the Node.js Express application on a cloud platform (e.g., Render, Heroku).
3.​ Task 3.2: Deploy Database (10 Points)
4.​ Host the PostgreSQL database on a cloud service.
5.​ Ensure Prisma ORM is correctly configured to connect to the hosted database.
6.​ Task 3.3: Deploy Frontend (10 Points)
7.​ Deploy the ReactJS application on a cloud platform (e.g., Vercel, Netlify).
8.​ Task 3.4: Ensure Full Integration (10 Points)
9.​ Verify that the frontend, backend, and database are fully integrated and functional.
10.​Test all features to ensure they work seamlessly in the deployed environment.

Submission
1.​ Submit your solution by providing links to the deployed applications and the GitHub
repositories for both the frontend and backend code.
2.​ Include a README file in each repository explaining how to set up and run the
application locally.

Bonus Points (20 Points)


1.​ Implement pagination for the list of URLs.
2.​ Add user authentication to secure the URL management features.

Good luck, and happy coding! 🚀

You might also like