Advice for work project

Greetings to all.
I have recently completed the information security certificate, and I believe that I can now venture to do a small practical project.
Well, my sister has a small clothing business, and I intend to collaborate with her, creating a website that will basically be a catalog of the products.
So, I want advice on:

  1. Aspects that I should take into account.
  2. Methodology to follow.
  3. Documentation that you should read.
    note: I intend to use de mern stack.

Well, I will be grateful for your answers.

[link added jun 03]

You skipped the most important step:

Getting requirements of what you need to build.

From there you can start with the things your asking for, but otherwise without understanding and describing to the best possible detail what you need to build, you could be setting yourself up for failure before you begin.

A description of “website to catalog products” can only go so far, for example:

  • Who edits the products?
  • Can user’s directly buy products?
  • How often are the products edited?
  • How many products could there be?
  • What does the catalog look like?
    etc etc,

The list is technically infinite, but from understanding the requirements of the problem you can build the solution how you see fit with your current skills, or even back-off some requirements. A catalog to show stuff off requires a whole different set of skills/technologies/requirements than a full on e-shop. There’s also usually the question if if you can use pre-existing solutions to help offset building this, from using a full on website builder, to more finite libraries.

2 Likes

I like what Brad has said, but just to add a little…

  • Methodology to follow.

Can you be clearer about what you mean by this? Do you mean the method of development? The architecture?

  • Documentation that you should read.
    note: I intend to use de mern stack.

Read whatever documentation you need. I always recommend that people get in the habit of reading through relevant docs - maybe read through the React docs a few pages a night? Maybe redux, maybe express? Whatever you need. And of course reference them when you need to.

1 Like

Thanks for your reply,
I have worked a little more on the ideas that I have in my mind.
In the link you can find a little more information about it.

I highlight the fact that the business is small, in the same way the application will be small.

Thanks for your reply.
At the point of methodology, I was thinking about things like

  1. Structure of folders.
  2. Know if the project starts with the backend or with the frontend.
  3. How to do so that the project can be scalable, or how to do so that another person can give continuity to the project.
  1. That really depends on you. There are a lot of different ways to do that. I like to have a folder for generic components, a folder for pages with sub pages nested underneath. I have folders for assets and services and redux (if needed) and utilities, etc.

  2. Either way works. I like to put a lot of thought into the structure of my data so if I’m starting with my f/e, I will create some mock data in the shape that I want. But you can also start with your b/e and just hit it with Postman or something to make sure it is working the way you want. For me, I use both from time to time, switching depending on my mood or the feature I’m working on. For some small things I may even develop both at the same time.

  3. Well, scalability is a whole other thing. I think that’s largely going to be a b/e issue - can your memory handle an uptick? Can your server handle the bandwidth? As far as someone else developing on your project - that is down to writing good code that is readable and well organized. That takes practice, but it’s good that you’re thinking about it.

1 Like

Hello, it’s me again and I share what I have done so far:

General comments:
I will try to be as brief and descriptive for the moment:

  1. The link found in the description takes you to the prototype platform that I had in mind at the time the project started.
  2. First of all, sorry for Spanglish, but finally, globalization. You will find it both in the UI and in the code comments, and also in the code itself.
  3. I still have to study how to use Git and Github, I hope to add the corresponding links to each part of the project. Possibly I have rushed to present it only as a reply, but hey, it is my first “project” on my own and I wanted to share this first result. I have no doubt that this is a botch, and that I have skipped a lot of good programming practices, but still I am happy with this first attempt.
  4. The project is divided into three parts, frontend (“public / buil”, the store page) admins-frontend (“public / admins-build”, the administrator page), and the Backend (where the backend that supports both pages),
  5. The frontend, have been built using ReactJS and react-rourter-dom, for the moment I have not learned to render from the server, I did not use NextJS, because I did not want to start using another technology without even knowing ReactJS well (apart I wanted work with ExpressJS). So, for example, when a call is made to “https://StoreClothes.ia92.repl.co/catalogo” it redirects to “https://StoreClothes.ia92.repl.co” and so on with the other routes.
  6. I have not done anything regarding SEO.
  7. This version has several missing, which originally I wanted to add, such as:
    1. count of the best-selling products
    2. count of the most viewed products
  8. As I did not put a payment gateway, the client UI has a form controlled by a cookie, the cokie contains an ID + expiration date, if the cookie is not valid the form cannot be sent, and if it is valid, the form It may be sent one (1) only time, after the cookie expires, the page must be reloaded to obtain a new cookie.
  9. Here are the environment variables that must be defined for the program:
{
  "PORT": "5000",
  "ATLAS_URI": "URI de mongoDB Atlas",
  "SALTROUNDS": "10",
  "SESSION_SECRET": "mySessionSecret",
  "MY_FORM_SECRET": "myFormSecret",
  "SESSION_TIME_MIN": "30",//for admin session
  "STORE_TIME_MIN": "10",//for cookie in UI store
  "COOKIE_SECRET": "MyCookieFormSecret",
  "DOMAIN": "https://StoreClothes.ia92.repl.co",
  "SUDO": "MyPasswor4CreateANewUser"
}
1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.