Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have been working on a project for several months now to write a web-based tool that will help me at work. I work at a call center and the CRM software that is used is wretched, we basically have to input all of our information into notepad templates and then paste it in to a description box.

My initial goal was to create a web-interface for the templates so that I didn't have to use notepad anymore. I was just going to write it with HTML5/CSS/JS, both as a learning experience and, if I was fortunate enough, an opportunity for advancement.

As I worked on coding this tool I continuously found myself changing the foundation of the project, attempting to integrate more functionality in my tool. It has gotten to the point where I want the tool to be used alongside the CRM software for every call I receive. I want to be able to simply copy the customer's information off of CRM (simply with Ctrl + A/Ctrl + C), then be able to paste the block of jumbled text into a text box. The program will then pick out the customer's info by looking for keywords in specific positions to fill out a user selected template. The rest of the information is input manually and then the output is generated with the push of a button. The information will also be parsed into a backup text file. The text file will be created automatically based on the date. If the text file for the current date exists, it will simply concatenate the info.

As I wrote my code I found myself getting distracted looking at different coding languages and possibilities. I kept looking back at what I had completed and I was disappointed, I've started over from scratch two times now.

Now for the actual question: I am thinking of starting over, writing my program with AngularJS. I like the idea of a smooth, single page, app-like interface, but I'm scared of hitting more barriers and starting over using something else. Based on my description of how I want my program to run, can anyone suggest how to go about implementing this? Should I look into a different language, or is JS really the way to go these days? I just discovered Dart and am intrigued, but the idea of learning yet another language is discouraging instead of exciting. I feel like I'm missing a pretty big point.

I hope this question is appropriate for this forum. I feel a bit lost with StackExchange, and the last thing I want to do is receive negative attention for a bad post. I'm just feeling a bit lost when it comes to this project, and perhaps even programming in general. Regardless, any feedback will be appreciated. Even direction to a forum for emotionally distraught fledgeling programmers would be a welcome answer. >.<

Thank you.

share|improve this question
    
You can paste text into the textbox but not actually type directly into it? Doesn't it at least allow multi-line input? –  JeffO Mar 18 '13 at 16:50
    
If your CRM is web based, don't forget GreaseMonkey. Otherwise, I don't think you need a web based solution. What you are trying to do seems like some text parsing and templating. Most scripting languages (Perl, Ruby, Python...) are really good at it and far more better than JS. –  Codism May 17 '13 at 19:07

2 Answers 2

This sounds like the exact kind of job people used PERL for back in the day. Most of it was very simple to set up. We would create a HTML form or two. The information was submitted to a Perl (later Python) script that easily pull info out and merged it into templates. The regular expressions and string processing features will help with requirements like matching keywords. There is also many tutorials and code samples on the net for problems like this. Most modern scripting languages have enough functionality built in to easily do what you're describing if you don't like PERL.

One other suggestion I'd make is to build this thing gradually. Break this application into several manageable pieces. Build the first piece that helps you a little bit. Then the next and so on. Each successful improvement will give you confidence and mental energy to keep on the project. Breaking it into several deliverables will also help avoid scope creep or a feeling of being overwhelmed.

share|improve this answer

To me it sounds like you're experiencing scope creep. That is, the scope of your app is expanding without you having "delivered" anything usable at all. If that is the case, you might want to step back and meditate on it.

As your question about languages/frameworks, JS really is the only thing you have to work with on the front-end. Now, that doesn't mean that you have to write "raw" JS: consider using a language that compiles to JS, like CoffeeScript, which is much closer to JS then Dart. It's based on JS with some nice syntactic sugar sprinkled on top.

Good luck!

share|improve this answer
    
Yes, scope creep sounds pretty accurate. I didn't know the actual definition of it, I just thought of it as programming ADHD or something. I never felt like I had a solid enough concept, it's always been too fluid. I'll go back to the whiteboard for a little while. I'll also look into CoffeeScript to see what it has to offer. A little syntactic sugar sounds pretty great. Thank you very much for your response. :) –  Mrow Feb 16 '13 at 16:45

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.