DEV Community

Carlos Sá
Carlos Sá

Posted on • Updated on

I need a tips for a large project.

Hi, I'm Carlos and I work as a freelance web developer and I've made a few small projects (mostly one-pagers) that have no back-office nor authentication.

Now I'm in for a project that is going to require both of them. And I'm clueless as what is to be the best approach.

I know I'd like to do the front-end in React because I came across it and very much liked the mindset and ideals of it.

As for the back-office I wanted to build one, I know this is probably not the best approach but it's something I would like to challenge myself to do and time is not the issue on the project, my client already has a thing going so he isn't very preoccupied of deadlines.

As for user authentication to access the user reserved area and to access BO I'm clueless on what to use and how to make it secure, same goes for the DB system.
I'm going to need services that require authentication and services that do not, I'm also going to need a database system that is scalable and easy to use (if it comes with a REST API even better).

Fellow coders, what are your recommendations?

PS: This is my first post here :) kudos to this whole community I love reading all of the articles!

Top comments (9)

Collapse
 
tux0r profile image
tux0r

I would like to challenge myself to do and time is not the issue on the project, my client already has a thing going so he isn't very preoccupied of deadlines.

Have you tried writing it in C?

Collapse
 
houdiiny profile image
Carlos Sá

Now that just WOW'ed me, I don't really like C that much but thanks for the link, I'll throw that at my C-lover friend for some giggles.

That quote was me trying to dismiss some "wordpress" type of platforms that come with their own CMS, I clearly underestimated the internet's "element of surprise" :)

Collapse
 
tux0r profile image
tux0r

How much convenience do you want to have? It's hard to make suggestions without knowing the available frame.

Thread Thread
 
houdiiny profile image
Carlos Sá

Well for what I read from the Firebase post it looks like the type of convenience I want but I don't know enough of it to make an educated choice.
I guess if you could share what you do when asked to do big projects from scratch it would help.

Thread Thread
 
tux0r profile image
tux0r • Edited

For really big projects (medium-sized for teams, but I tend to write everything myself) I prefer to not use C either. For web-based stuff, I mostly use Python (for a prototype) and Lisp (for the release version) because Lisp's extensibility and syntax help me save some time. When working for other people, time is money ... :)

  • For Python prototypes, I usually use the built-in sqlite3 bindings and the Flask micro framework.
  • For the final Lisp version, I make full usage of what Racket gives me. I am gradually moving away from Common Lisp - Racket has "batteries included" for web development which is awesome.

I wouldn't use React because I really don't like it, but that is a pure matter of taste.

Thread Thread
 
houdiiny profile image
Carlos Sá

Well I'm not familiar with either, I've done a Hello World in Python and that's about it.

I do like React but it's, as you say, a matter of taste.
I'll be sure to add both your sugestions to the "To Learn" queue, if you say they save time then it's worth the time to learn about them.

I feel more confortable going with React on this project because I'm more familiar and agile with Javascript.

Thanks for sharing! For learning purposes what would you consider to be good introduction guides to Lisp / Racket and can you provide links?

Thread Thread
 
tux0r profile image
tux0r • Edited

For learning purposes what would you consider to be good introduction guides to Lisp / Racket and can you provide links?

  1. Common Lisp: The book "Land of Lisp" and the venerable Practical Common Lisp.
  2. Racket: The "Getting Started" guide from the website is really good. (There's also "Realm of Racket", another book.)

Both are different Lisps, but you might like both... :-) (seriously, start with Racket.)

Collapse
 
rhymes profile image
rhymes

Hi Carlos!

Have you considered using Firebase? Can it fit your scope?

You can use it for authentication, storage and other stuff.

This way you can delegate the user authentication to it and focus on the business logic of your app.

I can't swear by this but it seems like a thorough tutorial on how to build authentication with React: robinwieruch.de/complete-firebase-...

Collapse
 
houdiiny profile image
Carlos Sá

Hi rhymes!

Thanks for the answer, I've heard of it but wasn't aware of the entire product offer.

This seems like a very good solution to pretty much everything I asked. I'm going to make a couple of "test" projects with it to get to know how it works.

Also grateful for the link you provided, looks like a good starting point.