<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: HighSoft85</title>
    <description>The latest articles on DEV Community by HighSoft85 (@highsoft85).</description>
    <link>https://dev.to/highsoft85</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1588900%2F30c734c0-e936-4bac-83c2-1a733d39365f.png</url>
      <title>DEV Community: HighSoft85</title>
      <link>https://dev.to/highsoft85</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/highsoft85"/>
    <language>en</language>
    <item>
      <title>Freecodecamp's Back End Development and APIs Project.</title>
      <dc:creator>HighSoft85</dc:creator>
      <pubDate>Tue, 18 Jun 2024 16:12:37 +0000</pubDate>
      <link>https://dev.to/highsoft85/freecodecamps-back-end-development-and-apis-project-3l03</link>
      <guid>https://dev.to/highsoft85/freecodecamps-back-end-development-and-apis-project-3l03</guid>
      <description>&lt;p&gt;Most of &lt;a href="https://www.freecodecamp.org"&gt;freecodecamp&lt;/a&gt;'s certificate tests need a simple codepen work. But, from backend development and apis section, it needs a user to configure a whole project and build using gitpod, online tool.&lt;br&gt;
This post is for &lt;a href="https://www.freecodecamp.org/learn/back-end-development-and-apis/"&gt;freecodecamp's backend development and apis projects&lt;/a&gt;. Freecodecamp's backend development and apis project consists of 5 microservice projects like following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;    Timestamp Microservice&lt;/li&gt;
&lt;li&gt;    Request Header Parser Microservice&lt;/li&gt;
&lt;li&gt;    URL Shortener Microservice&lt;/li&gt;
&lt;li&gt;    Exercise Tracker&lt;/li&gt;
&lt;li&gt;    File Metadata Microservice&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course these projects are not difficult to the users who took the all courses that freecodecamp provides.&lt;br&gt;
But I created a node.js project for &lt;a href="https://www.freecodecamp.org/learn/back-end-development-and-apis/"&gt;freecodecamp's backend development and apis projects&lt;/a&gt; to help developers to understand and pass more easily.&lt;br&gt;
To simplify, I integrated 5 projects into one express projects using router.&lt;br&gt;
Unfortunately, as those projects have some same api endpoints, you should activate and run one by one separately.&lt;br&gt;
Structure of the project is following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;models&lt;/strong&gt; folder: includes two mongoose models for exercise tracker microservice project(fourth project)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;routes&lt;/strong&gt; folder: includes 6 express router files(five for individual projects and one for home)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;public&lt;/strong&gt; folder:** contains data.json(for third, url shortener project) and style.css(I didn't care about styles, as it is for backend api functions). &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;uploads&lt;/strong&gt; folder: it is for last project(file metadata microservice)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;views&lt;/strong&gt; folder: includes 5 index.html files(each one for each project)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;app.js&lt;/em&gt;: main express app file(you will work here mostly)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;server.js&lt;/em&gt;: main endpoint file for node project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For example, if you build and run the project for "URL Shortener Microservice", third task, you should do like following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First, in &lt;em&gt;app.js&lt;/em&gt; file, change the home page into &lt;em&gt;views/index3.html&lt;/em&gt; and uncomment &lt;em&gt;require&lt;/em&gt; statement for express router(&lt;em&gt;urlShortener&lt;/em&gt; in this case) and &lt;em&gt;app.use&lt;/em&gt; statement with that router.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;app.get('/', function(req, res) {
  res.sendFile(process.cwd() + '/views/index1.html');
});

const home = require('./routes/homeRoute');
// const timestamp = require('./routes/timestampRoute');
// const headerParser = require('./routes/headerParserRoute');
const urlShortener = require('./routes/urlShortenerRoute');
// const exTracker = require('./routes/exTrackerRoute');
// const metadataRouter = require('./routes/metadataRoute');

app.use('/api', home);
// app.use('/api', timestamp);
// app.use('/api', headerParser);
app.use('/api', urlShortener);
// app.use('/api', exTracker);
// app.use('/api', metadataRouter);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Second, build and run the project.
&lt;code&gt;npm run start&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For other projects, do the same thing as above.&lt;br&gt;
Here are running screens for each project.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;    Timestamp Microservice project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F88ud0e0cepqt804zuubt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F88ud0e0cepqt804zuubt.png" alt="Screen for Timestamp Microservice project" width="458" height="325"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;    Request Header Parser Microservice project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6u3s3ko93ntdjzgtkvzw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6u3s3ko93ntdjzgtkvzw.png" alt="Screen for Request Header Parser Microservice project" width="649" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;    URL Shortener Microservice project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpdv6elsjz6i2piu2wmk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjpdv6elsjz6i2piu2wmk.png" alt="Screen for URL Shortener Microservice project" width="672" height="430"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;    Exercise Tracker project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq19rpxo1f47p9dtw2j8e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq19rpxo1f47p9dtw2j8e.png" alt="Screen for Exercise Tracker project" width="725" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;    File Metadata Microservice project&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F124ciena6sjmisjcqwd4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F124ciena6sjmisjcqwd4.png" alt="Screen for File Metadata Microservice project" width="636" height="282"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can download full codebase from &lt;a href="https://github.com/highsoft85/freecodecamp-backend-api-dev"&gt;my git repository&lt;/a&gt;.&lt;br&gt;
I hope it would be helpful to you.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>backenddevelopment</category>
      <category>node</category>
    </item>
  </channel>
</rss>
