kannaj / 42exp Goto Github PK
View Code? Open in Web Editor NEWFind teams to work together with on projects
Home Page: https://42exp.com/
License: Other
Find teams to work together with on projects
Home Page: https://42exp.com/
License: Other
Have users only be able to send messages once every 30s to prevent spam.
Investigate the advantages of using prettier to standardise code formatting.
There is a bug in the handleBlur
event in ProjectForm.jsx
The aim is the ensure that all project names are unique. however the backend throws an error even if the names are only slightly related. example: 'Django' vs 'Django rest framework'.
Current bundle.js weighs at 1.5mb but can be split into vendor files and app files.
Socket is declared as a global var in client -> index.js
file as a fix for server-rendering client files.
Open up a modal showing formatting methods similar to reddit/github
landscape view defaults to standard browser template but fonts/image resolutions need fixing
I tried to create a new project, but the only thing happening was a notification with the text "Couldnt create your project".
I am using Firefox 53.0.2 on Ubuntu 17.04.
The text I put in was:
My project idea is a system for optimizing your progress in speedsolving Rubik's cubes. Optimizing should include:
- measure your times and get statistics like best single time or global average
- recreate your collection of puzzles virtually and find the cheapest way of upgrading the hardware
- suggest ways of improving based on your average and execution time of your algorithms
For that, a few more things are needed:
- database of the most common cube models (and the ability for users to create their own)
- database of algorithms
- account management system for accounts to store data for each user individually
You don't need to be able to solve a Rubik's cube or have one to be able to contribute to this project. I chose this topic because it has a lot of possible features and is something some people need.
It is possible to learn a lot of things with this project: managing a project, website building and designing, databases, ...
As the whole thing is going to be a Website/Web application, it is helpful to understand at least the basics of HTML, CSS and JavaScript. The server-side part is PHP maybe. Having at least one person knowing databases (SQL?) and how to connect them to PHP is helpful, as I only know about storing data in text files.
I already have experience in parts of the idea like the time measurement system, but the whole project is a bit too big for me.
If you're interested now, please join!
And make it have dank memes
Create bash-script to automate lets-encrypt renewal. Current one lasts for 90 days
links:
https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04
https://www.linode.com/docs/security/ssl/install-lets-encrypt-to-create-ssl-certificates
for integrating with docker :
https://github.com/mbrugger/letsencrypt-nginx-docker
code snippets using the ``` need to automatically have the .hljs
class for highlight.js to add the proper background.
Remarkable needs to add this class to the <pre>
tag for rendering code snippets which it doesnt seem to be doing.
relevant issue - jonschlinkert/remarkable#224
Simple postgres lookup should do the trick.
Currently , we dont not have a schema to show the existing db tables.
node-pg-migrate
has set up the migration table and relevant files.
Figure out a way to use those to generate a schema file similar to how rails generates schema.rb
As of now , each message in the chat system is rendered in its own component /components/messages.jsx
- a good UX would be to merge to message components if they're from the same user and within a specific time period.
i believe this could be easily done with hijacking the new_chat_message
chat message action in https://github.com/Kannaj/42EXP/blob/master/shared/actions/projects/project_messages.js
and have the reducer perform the below function
Currently , the icon just glows red if there are unread notifications. It would be better to show the number of unread notifications.
As of now , there is just a boolean value unread_messages=true
that flows into the notifications component. Ideally, we should also send a number showing the amount of unread messages for the user.
MyComponent.PropTypes = {
foo: PropTypes.func.isRequired
};
<MyComponent />
This should throw a warning in the console. But it doesnt
It would make the navigation faster imo
The message box in the chat room currently is a textarea
tag. It looks a bit ugly due to the rows attribute specified as a default.
We should try replacing it with a standard input box and include a button (probably called 'edit') which should open up an editor modal to type longer messages.
Alternative approach replace the message box with a <div contenteditable>
tag which would allow the div to automatically increase on message overflow.
When a chat message is recived it should show a desktop notification, so you can have 42exp opened in background and still being notified about chat updates.
I go to https://42exp.com/ and click the button "Register with Github" on the top right. The browser writes "Loading error" and tries to load "http://localhost:8000/auth/github/callback?error=redirect_uri_mismatch&error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application.&error_uri=https%3A%2F%2Fdeveloper.github.com%2Fv3%2Foauth%2F%23redirect-uri-mismatch". "Login with Github" shows the same error.
I am using Firefox 53.0.2 with Ubuntu 17.04.
Currently , project description in the project details page render plain text. Rendering them using remarkable would be better.
There are a few socket handlers like the below
socket.on('project:check_name',project_check_name)
project_check_name
being a function which invokes pg-promise
And a few like the below
socket.on('project:join',function(data,res){
data.username = socket.getAuthToken().username
join_project(data)
.then(function(result){
res(null,result)
})
.catch(function(err){
winston.error('User cant join project : ',err)
res('Cant join project')
})
})
The second one is more consistent and allows for easier testing. Make all apis consistent
And include infinite scroll to retrieve older projects.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.